1.冒泡排序简介
它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。
2.冒泡排序步骤
要排序的数组
2, 7, 11, 15
第一趟:11 15 7 2 | 11 7 15 2 | 11 7 2 15 ### N-1 3次比较
第二趟:7 11 2 15 | 7 2 11 15 | ### N-2 2次比较
第三趟:2 7| ### N-3 1次比较
总结:需要进行N-1趟排序。第i趟排序要进行N-i次关键字的比较(1≤i≤n-1),
从小到大的排序示例:
#define N 4
int main() { int arrarCount[4] = {1,7,5,9}; // 冒泡排序
// 外层N-1趟 for (int i = 0; i < N-1; i++) {
// 内层N-i次比较 i从0开始的所以就是第i+1趟 for (int j = 0; j < N-(i+1); j++) { if (arrarCount[j] > arrarCount[j + 1]) { int temp = arrarCount[j]; arrarCount[j] = arrarCount[j+1]; arrarCount[j+1] = temp; } } } }