数组排序练习
降序排列 - 从大到小
冒泡排序的基础原理:遍历和交换
1 25 16 11 90 23
2 25 16 11 90 23
3 25 16 90 11 23
4 25 16 90 23 11
需要多轮(数组长度-1)轮
每轮比较次数比上一轮-1次【(数组长度- 1)-当前的轮数】
#include <stdio.h>
#include <stdlib.h>
#define N 5 //宏定义,并不是必须的
int main()
{
int i,j; //循环变量
int temp;//用于交换的临时变量
int nums[N]={16, 25, 11, 90, 23};
//外层循环控制 轮数 (数组长度 -1)
for (i = 0; i < N - 1; i++)
{
//内层循环控制 每轮的比较次数 (数组长度-1) -当前的轮数 N-1-i
for (j = 0; j < N - i - 1;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]);
}
return 0;
}
num应该是nums