排序有很多种,上次有介绍一种堆排序,这次说的是冒泡排序。
思路:冒牌排序的想法是从一系列数中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(),就可以运行了