排序之冒泡排序
冒泡排序的过程很简单,首先将第一个记录的关键字和第二个记录的关键字进行比较,若为逆序,则交换两个记录,然后比较第二个记录和第三个记录。以此类推,直到第n-1个记录和第n个记录进行比较完毕。上述过程为一趟冒泡排序,其结果使得关键字最大的记录被安置到最后一个记录的位置上上。然后进行第二趟冒泡排序,对前n-1个记录进行同样的比较操作。一般的,第i趟操作记录是从第1个到第n-i+1。总共需要n-1趟操作。
1 #include<iostream> 2 using namespace std; 3 4 void bubble_sort(int a[], int n) 5 { 6 int i, j, temp; 7 for (i = 0; i < n; i++) 8 { 9 for (j = 1; j <n - i ; j++) 10 { 11 if (a[j] < a[j - 1]) 12 { 13 temp = a[j - 1]; 14 a[j - 1] = a[j]; 15 a[j] = temp; 16 } 17 } 18 } 19 } 20 int main() 21 { 22 int a[]={9, 6, 3, 4, 5, 7}; 23 bubble_sort(a,6); 24 for (int i = 0; i < 6; i++) 25 cout << a[i] << endl; 26 return 0; 27 }