一、原理
冒泡排序的原理比较简单,就是将待排序区域的数值挨个向后对比,直到比较到已排序的边界,就纳入已排序区域。
二、代码如下所示:
#include <stdio.h>
#include "test.h"/* 冒泡排序 */
void bubble_sort(int* arr, int begin, int len)
{int data;for (int i = len; i > begin; i--) //外层循环决定内层的遍历次数,每循环一次,就减少一次遍历{for (int j = begin; j < i-1; j++) //内层根据遍历次数进行数据比较{if (arr[j] > arr[j + 1]){data = arr[j];arr[j] = arr[j + 1];arr[j + 1] = data;}}}
}void main()
{int* arr = CreateArray(10000);//TEST_MY(selection_sort, arr, 10000);TEST_MY(bubble_sort, arr, 10000);/*unguarded_insert_sort(arr, 0, 10000, 1);*///printf("data:%d, %d, %d, %d\r\n", arr[0], arr[1], arr[2], arr[3]);free(arr);return;
}
运行结果如下所示: