~原理:n个数,依次比较相邻的数,如若前大于后(顺序情况下)则交换位置.
~结论:n个数,则需要(n-1)轮比较,每一轮需要交换(n-1-i)次(i表示轮数).
如下:
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
int i, j;
int arr[10] = { 1,8,4,9,2,7,0,6,5,3 };
for (i = 0; i < 10 - 1; i++)//外层循环控制比较的轮数
{
for (j = 0; j < 10 - 1 - i; j++)//内层循环控制每一轮比较的次数
{
if (arr[j] > arr[j + 1])//交换位置
{
int tmp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = tmp;
}
}
}
for (i = 0; i < 10; i++)//输出打印
{
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
有什么不懂的知识点,都可以评论区留言!
趁寒假共同进步哈!