算法—冒泡排序
冒泡排序
冒泡排序(英语:Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序(如从大到小、首字母从A到Z)错误就把他们交换过来。换句话说就是两两比较,两两交换。
1 #include <stdio.h> 2 void bubble_sort(int arr[], int len) { 3 int i, j, temp; 4 for (i = 0; i < len - 1; i++) 5 for (j = 0; j < len - 1 - i; j++) 6 if (arr[j] > arr[j + 1]) { 7 temp = arr[j]; 8 arr[j] = arr[j + 1]; 9 arr[j + 1] = temp; 10 } 11 } 12 int main() { 13 int arr[] = { 22, 34, 3, 32, 82, 55, 89, 50, 37, 5, 64, 35, 9, 70 }; 14 int len = (int) sizeof(arr) / sizeof(*arr); 15 bubble_sort(arr, len); 16 int i; 17 for (i = 0; i < len; i++) 18 printf("%d ", arr[i]); 19 return 0; 20 }
如果实在是不理解,那么观看下面这个视频应该会有所理解了。这个视频还是挺有意思的,请认真看完,如果不行就加速看也行。第一次看不懂就多看几遍然后和代码联系上。