冒泡排序是一种排序方式(废话)
净入正题,冒泡排序是从第一个元素一直往后比较找到他最后的位置。
比如想要从大到小:
1 3 2 4 3
第一个元素 1 比 3 小两两交换就成了:
3 1 2 4 3
接着继续 1 比 2 小,替换:
3 2 1 4 3
继续这样下去 1 就到了最后:
3 2 4 3 1
然后就是3开始一直比较最后就到了第三个元素:2 4 3 3 1
一直下去………………
就成了 4 3 3 2 1
不shuo了,亮代码:
#include<stdio.h> //头文件(使用printf 和 scanf)
int main()
{
int a[5] = {3,5,2,7,9};
printf("排序前:3 5 2 7 9\n");
//冒泡排序
for(int i = 0;i < 5;i++)
{
for(int j = i;j < 6;j++)
{
if(a[i] < a[j])
{
//交换两个变量
int w = a[i];//记录第一个a[i]
a[i] = a[j];
a[j] = w;
}
}
}
//输出
printf("排序后:");
for(int i = 0;i < 5;i++) printf("%d ",a[i]);
return 0;
}