冒泡排序的简单实现
2016-03-30 11:01
330 查看
#include <stdio.h>
//要排序的数组
//{4.8.2.0}
/*
第一轮比较,比较3次
1-2:4.8.2.0
2-3:4.2.8.0
3-4:4.2.0.8
第二轮比较,比较两次
1-2:2.4.0.8
2-3:2.0.4.8
第三轮比较,比较一次
1-2:0.2.4.8
第四轮就只剩一个0,所以不用比较
总结:四个元素的数组 比较了几轮
3 我们第一轮:3次 第二轮2第三轮
1
*/
int main(int argc,const
char * argv[]) {
//要比较的数组
int a[4] = {4,8,2,0};
//比较的轮数,j <数组元素的个数 - 1
for (int j = 0; j < 3; j++) {
/*
第一次j(比较轮数)的值
比较的次数
0 3
1 2
2 1
*/
//第一轮比较a[0]和a[1],a[1]和
a[2],a[2]和a[3],每轮比较的次数 = 3 -比较的第几次,i
<数组的个数- 1再减去比较的轮数
for (int i = 0; i < 3 - j; i++) { /*
第一次 i的值 a的下标的值(也就是哪个下标和哪个下标比较)
0 0-1
1 1-2
2 2-3
*/
//判断如果前一个数比后一个数大就往后移一位,从上面的注释可以看出来是 i和
i+1进行比较
if (a[i] > a[i+1]) {
//定义一个变量记录一下 a[i],
int temp = a[i];
//如果 a[i] > a[i+1]就把数组中的i下标的值换成i+1下标的互换
a[i] = a[i+1];
//切记此处不可以赋为 a[i],因为
a[i]以赋值为a[i] = a[i+1];
a[i+1] = temp;
//交换过程定义一个变量来存储a[i]的值 接着赋值
//a[i] = a[i+1];a[i+1] =temp
}
}
}
//遍历打印数组
for (int i = 0; i < 5; i++) {
printf("a[%d] = %d\n",i,a[i]);
}
}
//要排序的数组
//{4.8.2.0}
/*
第一轮比较,比较3次
1-2:4.8.2.0
2-3:4.2.8.0
3-4:4.2.0.8
第二轮比较,比较两次
1-2:2.4.0.8
2-3:2.0.4.8
第三轮比较,比较一次
1-2:0.2.4.8
第四轮就只剩一个0,所以不用比较
总结:四个元素的数组 比较了几轮
3 我们第一轮:3次 第二轮2第三轮
1
*/
int main(int argc,const
char * argv[]) {
//要比较的数组
int a[4] = {4,8,2,0};
//比较的轮数,j <数组元素的个数 - 1
for (int j = 0; j < 3; j++) {
/*
第一次j(比较轮数)的值
比较的次数
0 3
1 2
2 1
*/
//第一轮比较a[0]和a[1],a[1]和
a[2],a[2]和a[3],每轮比较的次数 = 3 -比较的第几次,i
<数组的个数- 1再减去比较的轮数
for (int i = 0; i < 3 - j; i++) { /*
第一次 i的值 a的下标的值(也就是哪个下标和哪个下标比较)
0 0-1
1 1-2
2 2-3
*/
//判断如果前一个数比后一个数大就往后移一位,从上面的注释可以看出来是 i和
i+1进行比较
if (a[i] > a[i+1]) {
//定义一个变量记录一下 a[i],
int temp = a[i];
//如果 a[i] > a[i+1]就把数组中的i下标的值换成i+1下标的互换
a[i] = a[i+1];
//切记此处不可以赋为 a[i],因为
a[i]以赋值为a[i] = a[i+1];
a[i+1] = temp;
//交换过程定义一个变量来存储a[i]的值 接着赋值
//a[i] = a[i+1];a[i+1] =temp
}
}
}
//遍历打印数组
for (int i = 0; i < 5; i++) {
printf("a[%d] = %d\n",i,a[i]);
}
}
相关文章推荐
- 在命令行用 sort 进行排序
- Linux C函数参考手册(PDF版)
- 文件遍历排序函数
- C# partial关键字说明
- C#选择排序法实例分析
- C#插入法排序算法实例分析
- Lua教程(十七):C API简介
- 简单谈谈lua和c的交互
- C#实现Datatable排序的方法
- SQLSERVER的排序问题结果不是想要的
- Windows Powershell排序和分组管道结果
- C#通过IComparable实现ListT.sort()排序
- C#选择法排序实例分析
- C#中的委托数据类型简介
- SQL学习笔记四 聚合函数、排序方法
- C#编写的艺术字类实例代码
- C#实现打造气泡屏幕保护效果
- 举例讲解C#编程中委托的实例化使用
- C#对list列表进行随机排序的方法