C语言实现冒泡排序

      排序有很多种,上次有介绍一种堆排序,这次说的是冒泡排序
      思路:冒牌排序的想法是从一系列数中a[n],从尾段a[n-1]开始,如果它小于它前面的那个数("倒二个"数a[n-2]),则与之交换顺序,然后"倒二个"数再与"倒三个"数a[n-2],相比,如果a[n-1]<a[n-2],则再交换,如此继续,直至跟a[0]比较,这样就可以保证a[0]是所有数中最小的一个。重复上述的步骤,得a[1]为第二小.....a[n]为最大的数。

算法的代码如下:

void bubble(int first,int end) //冒泡排序

 {

          for(int flag=first;flag<end;flag++)

                  for(int i=end;i>flag;i--)

                          if(a[i]<a[i-1])

                          {

                                 int t=a[i];

                                 a[i]=a[i-1];

                                 a[i-1]=t;

                          }

 }

你可以增加相应的main()函数,调用bubblesort(),就可以运行了

留言

Your email address will not be published. Required fields are marked *