用冒泡算法对数组进行从小到大排序
思路
第1次比较.png 第2次比较.png 第3次比较.png 第4次比较.png 第5次比较.png将相邻两个数进行比较,较大的放在角标较大的位置。
黄色为本次比较的两个数,红色代表本次比较最大的书,下次循环不需要比较上一次最大的值。
#include<stdio.h>
#include<math.h>
main() {
int a[10];
printf("输入10个数\n");
for (int i = 0; i < 10; i++) {
scanf("%d", &a[i]);
}
int temp;
for (int y = 0; y < 9; y++)
{
//上一次循环最大值不需要比对
for (int x = 0; x < 9 - y; x++)
{
if (a[x] > a[x + 1])
{
temp = a[x + 1];
a[x + 1] = a[x];
a[x] = temp;
}
}
}
printf("冒泡排序结果\n");
for (int i = 0; i < 10; i++) {
printf("%d", a[i]);
printf("\n");
}
system("pause");
}
运行结果.png
网友评论