C语言冒泡排序法分析及代码实现
来源:互联网 发布:乌克兰女人在中国知乎 编辑:程序博客网 时间:2024/06/05 15:08
冒泡排序法:
所谓冒泡排序法,就是对一组数字进行从大到小或者从小到大排序的一种算法。具体方法是,相邻数值两两交换。从第一个数值开始,如果相邻两个数的排列顺序与我们的期望不同,则将两个数的位置进行交换(对调);如果其与我们的期望一致,则不用交换。重复这样的过程,一直到最后没有数值需要交换,则排序完成。一般地,如果有N个数需要排序,则需要进行(N-1)趟起泡。
步骤分析:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
假如有9个数的一组数:6,8,1,2,4,3,5,9,7
从第一个数起,依次和相邻两个数比较,前大后小则换位
第一轮:比较9-1次
6和8进行比较,6<8,则不换位,得到 6,8,1,2,4,3,5,9,7
8和1进行比较,8>1,则换位,得到 6,1,8,2,4,3,5,9,7
8和2进行比较,8>2,则换位,得到 6,1,2,8,4,3,5,9,7
8和4进行比较,8>4,则换位,得到 6,1,2,4,8,3,5,9,7
8和3进行比较,8>3,则换位,得到 6,1,2,4,3,8,5,9,7
8和5进行比较,8>5,则换位,得到 6,1,2,4,3,5,8,9,7
8和9进行比较,8<9,则不换位,得到 6,1,2,4,3,5,8,9,7
9和7进行比较,9>7,则换位,得到 6,1,2,4,3,5,8,7,9
第二轮:比较9-1-1次
6和1进行比较,6>1,则换位,得到 1,6,2,4,3,5,8,7,9
6和2进行比较,6>2,则换位,得到 1,2,6,4,3,5,8,7,9
6和4进行比较,6>4,则换位,得到 1,2,4,6,3,5,8,7,9
6和3进行比较,6>3,则换位,得到 1,2,4,3,6,5,8,7,9
6和5进行比较,6>5,则换位,得到 1,2,4,3,5,6,8,7,9
6和8进行比较,6<8,则不换位,得到 1,2,4,3,5,6,8,7,9
8和7进行比较,8>7,则换位,得到 1,2,4,3,5,6,7,8,9
第三轮:...后面我就不写,一共比较9-1轮.也就是有多少个元素,则比较多少个元素个数-1次.
代码实现:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <stdio.h>
//冒泡排序法
voidbubbleSort(intarr[],intlen){
for(inti=0;i<len-1;i++){
for(intj=0;j<len-1-i;j++){
//相邻两个元素进行比较,如果前面元素比后面元素大则交换位置
if(arr[j]>arr[j+1]){
arr[j]=arr[j]^arr[j+1];
arr[j+1]=arr[j]^arr[j+1];
arr[j]=arr[j]^arr[j+1];
}
}
}
//打印排序后的数组
for(inti=0;i<len;i++){
printf("%d ",arr[i]);
}
}
intmain(intargc,constchar*argv[]){
//定义一个元素个数为10的数组,并赋值
intnum[9]={6,8,1,2,4,3,5,9,7};
//调用函数,传入数组和元素个数
bubbleSort(num,9);
printf("\n");
return0;
}
0 0
- C语言冒泡排序法分析及代码实现
- C语言冒泡排序法分析及代码实现
- C语言冒泡排序算法及代码
- C语言冒泡排序及选择排序优化<代码>
- 冒泡排序法C语言代码
- 冒泡排序C语言代码
- 冒泡排序法C语言实现
- 详解排序算法C语言代码实现之冒泡排序法(改进)
- C语言实现冒泡排序
- 冒泡排序C语言实现
- 冒泡排序C语言实现
- 实现冒泡排序(c语言)
- 冒泡排序--C语言实现
- 冒泡排序--c语言实现
- 冒泡排序(C语言实现)
- 冒泡排序C语言实现
- c语言实现冒泡排序
- c语言实现冒泡排序
- [leedcode oj 8]String to Integer (atoi)
- 稀疏矩阵运算器
- atlassian JIRA 插件开发(八) — MVC实现
- 实时数据库
- 数值的整数次方
- C语言冒泡排序法分析及代码实现
- UVA 12657 Boxes in a Line
- 树的输入、存储与遍历
- NSDictionary
- centos7 上为php-fpm安装gd扩展库
- 处女博,《染色法与构造法在棋盘上的应用》的理解
- 最快让你上手ReactiveCocoa之基础篇
- 基于java config的springSecurity--单元测试
- java异常基础知识