首页 > 代码库 > 冒泡法排序

冒泡法排序

冒泡法排序的算法思想是:

       通过无序区中相邻记录关键字间的比较和位置交换,使关键字的记录如气泡一般逐渐往上“漂浮”至“水面”。整个算法是从最下面的记录开始,对每两个相邻的关键字进行比较,且使关键字较小的记录换至关键字较大的记录之上,使得经过一趟冒泡排序后,关键字最小的记录到达最上端,接着,再在剩下的记录中找关键字最小的记录,并把它换在第二个位置上。以此类推,一直到所以记录都有序为止。

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 
 4 void main()
 5 {
 6     int a[10] = {5,1,6,9,8,3,4,6,10,7};; //待排序整型数组
 7 
 8     int temp= 0; //中间变量
 9 
10     //冒泡法排序实现从小到大排序
11     for(int i=0;i<10;i++) //进行10次循环
12     {
13         for(int j=i+1;j<10;j++) //循环比较剩余的变量
14         {
15             if(a[i] > a[j]) //如果前面一个数比后面数大,交换两个数的值
16             {
17                 temp = a[i];
18                 a[i] = a[j];
19                 a[j] = temp;
20             }
21         }
22     }
23 
24     for(int i=0;i<10;i++) //循环输出排序以后的结果
25     {
26         printf("%d  ",a[i]);
27     }
28 
29     system("pause");
30 }