什么是冒泡排序法?数组
舒适提示:在理解题意的时候,尽可能能用反向思惟来理解。ide
若有10个大小不1、排序混乱的数字。 若是咱们要将大的排在最前面。spa
咱们能够经过先将数组中最小的排在后面(这里的为了排大的在前面而先排最小的,我就理解为反向的思惟)。 而后在比较前面9个数字,将最小的拍在第9个位置。 这样依次类推。直到最后一个。 排序
在这个过程当中其中有一个步骤是将前面的数字进行比较。 这个比较的过程就是一个冒泡的过程。string
若是咱们只有3个数字 1,2,3。 经过冒泡排序法是这样的。it
一、将第一位和第二位进行比较,大的排前面小的排后面。就变成了:io
2,1,3 class
二、将第二位和第3为比较,大的排前面小的排后面。就变成了:sso
2, 3, 1word
三、将第1位和第2为比较,大的排前面小的排后面。就变成了:
3, 2, 1
经过这些将小的数字忘后冒的排序过程咱们就完成了排序
下面是经过C语言来实现的排序过程
- #include <stdio.h>
- int main() {
- int index = 0, index1 = 0, temp;
- int arrays[] = { 1, 2, 3, 4, 5 };
- int arraysLength = 5, moveCount;
- for (index = 0; index < arraysLength; index++) {
- moveCount = arraysLength - 1;
- for (index1 = 0; index1 < moveCount - index; index1++) {
- if (arrays[index1] < arrays[index1 + 1]) {
- temp = arrays[index1];
- arrays[index1] = arrays[index1 + 1];
- arrays[index1 + 1] = temp;
- }
- }
- }
- for (index = 0; index < arraysLength; index++) {
- printf("%d\n", arrays[index]);
- }
- return 0;
- }
打印结果:
5
4
3
2
1