最简单的排序方法是冒泡排序方法。
这种方法的基本思想是,将待排序的元素看作是竖着排列的“气泡”,较小的元素比较轻,从而要往上浮。在冒泡排序算法中我们要对这个“气泡”序列处理若干遍。所谓一遍处理,就是自底向上检查一遍这个序列,并时刻注意两个相邻的元素的顺序是否正确。如果发现两个相邻元素的顺序不对,即“轻”的元素在下面,就交换它们的位置。显然,处理一遍之后,“最轻”的元素就浮到了最高位置;处理二遍之后,“次轻”的元素就浮到了次高位置。在作第二遍处理时,由于最高位置上的元素已是“最轻”元素,所以不必检查。一般地,第i遍处理时,不必检查第i高位置以上的元素,因为经过前面i-1遍的处理,它们已正确地排好序。
void doit(float* in,int count)
{
int x;
int y;
float temp;
for(y=0;y
for(x=1;x
if((*(in+x))>(*(in+x-1)))
{
temp=(*(in+x-1));
(*(in+x-1))=(*(in+x));
(*(in+x))=temp;
}
}
}
#include
void main()
{
int i,j,temp;
int a[10];
for(i=0;i<10;i++)
scanf ("%d,",&a[i]);
for(j=0;j<=9;j++)
{ for (i=0;i<9-j;i++)
if (a[i]>a[i+1])
{ temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;}
}
for(i=0;i<10;i++)
printf("%5d,",a[i] );
printf("\n");
}
#include
main()
{
int str[10];
printf("plsase enter ten num:\n");
for(i=0;i<10;i++)
{
scanf("%d ",&str[i]);
}
for(i=0;i<9;i++)
{
for(j=1;j<10;j++)
{
if(str[j]>str[i])
{
temp=str[i];
str[i]=str[j];
str[j]=temp;
}
}
}
for(i=0;i<9;i++)
{
printf("%d",str[i]);
}
}
#include
void main()
{
int i,j,t;
int a[10];
printf("input 10 numbers");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(j=0;j<9;j++)
for(i=0;i<9-j;i++)
if(a[i] {
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
for(i=0;i<10;i++)
printf("%d ",a[i]);
}