冒泡排序 最简单的排序方式之一。
原理:就是比较相邻两个数的大小,前一个数大于后一个数,则两者交换。全部作为后最后一个数就是最大的数。 针对全部元素重复此操作,最后一个除外。
原理动图如下:

动图转载自:1.1 冒泡排序 | 菜鸟教程 (runoob.com);
用c语言来实列测试
int main()
{
int t;
int arr[5] = { 9,2,0,3,1 };
for(int i=0;i<4;i++) //全部元素重复冒泡,最后一个除外,所以次数为个数n-1;
for (int j = 0; j < 4 - i; j++)// 每一次循环,最大数的数会被放在最后面,所以下次减少一次循环
{
if (arr[j] > arr[j + 1])
{
t = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = t;
}
}
for (int i = 0; i < 5; i++)
printf("%d ", arr[i]);
return 0;
}
i | 0 | 1 | 3 | 4 |
最后排序 | 2031 9 | 021 39 | 01 239 | 0 1239 |