冒泡排序算法

  冒泡排序是一种交换排序。

  交换排序的基本思想是:两两比较待排序记录的关键字,发现两个记录的次序相反时则进行交换,知道没有反序的记录为止。

  应用交换排序基本思想的主要排序方法有:冒泡排序和快速排序。

  冒泡排序:算法描述省略就了。。。

  算法c实现:

1 #include <iostream>
2 using namespace std;
3
4 void bubbleSort(int a[],int n)
5 {
6 int i,j,tmp;
7 int exch = 0;
8 for(i = 0;i < n;i++)
9 {
10 exch = 0; //交换标志
11 for(j = n-1;j > i;j--)
12 {
13 if(a[j] < a[j-1])
14 {
15 tmp = a[j];
16 a[j] = a[j-1];
17 a[j-1] = tmp;
18 exch = 1; // 发生了交换则置交换标志
19 }
20 }//内循环
21 if(!exch)
22 return; //本趟没有发生交换则提前终止算法
23 }//外循环
24 }//end of bubbleSort
25
26 int main(int argc,char **argv)
27 {
28 int i = 0;
29 int a[] = {3,5,2,7,4,7,1};
30 bubbleSort(a,7);
31 for(i = 0 ; i < 7 ;i++)
32 cout<<a[i]<< ' ';
33 cout<<endl;
34 return 0;
35 }

posted @ 2011-05-19 15:29  elwin  阅读(205)  评论(0编辑  收藏  举报