16 25 9 90 23
降序排列-从大到小
冒泡排序的基础原理:遍历和交换
第一轮交换:
某个数字小于后面的数字,那么就交换
1 25 16 9 90 23
2 25 16 9 90 23
3 25 16 90 9 23
4 25 16 90 23 9
- 需要比较多轮【数组长度-1】
- 第一轮比较了4次【数组长度-1】
- 每一轮比较的次数比上一次减一
- 数组长度-1-当前的轮数
#include<stdio.h>
#define N 5
int main()
{
int i,j; //循环变量
int temp; //用来交换的临时变量
int nums[N]={16,25,9,90,23};
//外层循环控制轮数
for(i=0;i<N-1;i++)
{
//内层循环控制 每轮比较的次数
for(j=0;j<N-1-i;j++)
{
if(nums[j]>nums[j+1])
{
//如果当前值小于后面一个值,就交换
temp=nums[j];
nums[j]=nums[j+1];
nums[j+1]=temp;
}
}
}
printf(“排序后的结果是:\n”);
//此循环“打印排好序的数字”
for(i=0;i<N;i++)
{
printf("%d\t",nums[i]);
}
}
\t: 9,16,23,25,90
\d:
9
16
23
25
90