代码1:
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
{
if(a[i]<a[j])
{t=a[i];a[i]=a[j];a[j]=t;}
}
代码1能运行出来,但和教材(C程序设计第五版)不太一样,和冒泡法又极其类似,大一刚学C语言,没有自信,
请教!
代码2(教材144页所给的冒泡法):
for(j=0;j<9;j++) // 进行9次循环,实现9趟比较
for(i=0;i<9-j;i++) // 在每一趟中进行9-j次比较
if (a[i]>a[i+1]) // 相邻两个数比较
{t=a[i];a[i]=a[i+1];a[i+1]=t;}
代码3(教材194页所给的排序法):
for(i=0;i<n-1;i++)
{k=i;
for(j=i+1;j<n;j++)
if(array[j]<array[k])
k=j;
t=array[k];array[k]=array[i];array[i]=t;
代码4(教材243页所给的排序法):
for(i=0;i<n-1;i++)
{k=i;
for(j=i+1;j<n;j++)
if(x[j]>x[k]) k=j;
if(k!=i) //这一句代码3里没有
{t=x[i];x[i]=x[k];x[k]=t;}