冒泡排序:
void bubblesort(int a[],int n)
{
int i,j,temp;
for(i=0;i<n-1;i++)
{
for(j=n-1;j>i;j--)
{
if(a[j-1]>a[j])
{
temp=a[j-1];
a[j-1]=a[j];
a[j]=temp;
}
}
}//冒泡排序
}
从下往上依次冒出数组中第一小的数,第二小的数。。。。。直到整个数组有序(从小到大)。一共需要n-1次排序(说冒泡也行),每次排序需要比较的次数都减一。
同理可得沉底排序:
void bottomsort(int a[],int n)
{
int i,j,temp;
for(i=0;i<n-1;i++)
{
for(j=0;j<n-i-1;j++)
{
if(a[j]>a[j+1])
{
temp=a[j+1];
a[j+1]=a[j];
a[j]=temp;
}
}
}//沉底排序
}
从上往下沉入第一大的数,第二大的数。。。。
还可以这样写,看个人爱好:
for(i=n-1;i>0;i--)
{
for(j=n-i-1;j<n-1;j++)
{
if(a[j]>a[j+1])
{
temp=a[j+1];
a[j+1]=a[j];
a[j]=temp;
}
}
}//沉底排序
(我不是很明白这种奇怪的排版)
版权声明:本文为qq_41193767原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。