回复:(–★–)//楼主朋友,如果这样"冒泡"是否好理解...
											以下是引用–★–在2006-5-2 4:38:00的发言:
//楼主朋友,如果这样"冒泡"是否好理解些?
#include<stdio.h>
#define  N  10
int main( )
{   int a[N]={1,4,5,8,7,3,2,0,9,6};//N个任意整数
    int i,j;
    for(i=1;i<=N-1;i++)//第i轮,i=1,2,3,...,N-1
    for(j=1;j<=N-i;j++)//第j次,j=1,2,3,...,N-i
    if(a[j-1]>a[j])//此处是按升序排列
    {int t=a[j-1];a[j-1]=a[j];a[j]=t;}
    //至此,排序其实已经完成。俺来看看效果吧:
    for(i=0;i<N;i++)printf("%i ",a[i]);
    printf("\n");
    return 0;
}
再次为本人的程序鼓吹一下:如果内循环头中 i 错为 1 ,运行起来仍正常。当然效率要下降50%。LZ若不明可再发帖,我必复答你!