急!!请教高人,这个简单排序的子程序为什么无法正确输出每趟排序结果?
非常感谢!!!
void SelectSort(SqList R)
{ int i,j,k,y;
printf("简单选择排序法 每趟结果:\n");
for(i=1;i<8;i++)
{ //做第i趟排序(1≤i≤n-1)
k=i;
for(j=i+1;j<=8;j++)//在R[i..n]中选key最小的记录R[k]
if(R.r[j].key<R.r[k].key)
k=j; //k记下目前找到的最小关键字所在的位置
if(k!=i) //交换R[i]和R[k]
{ R.r[0]=R.r[i]; R.r[i]=R.r[k];R.r[k]=R.r[0]; } //R[0]作暂存单元
for(y=1;y<=R.length;y++)
printf("%d ",R.r[y].key);
printf("\n");
}
}