注册 登录
编程论坛 数据结构与算法

各位高手看看,为什么输不出来排好序的

hua151hua 发布于 2013-12-17 16:36, 503 次点击
#include "stdio.h"
typedef int keytype;
typedef struct RecType{
 keytype key;
}RecType;

void insertsort(RecType R[],int n)
{
 int i,j;
 RecType temp;
 for(i=0;i<n-1;i++)
 {
 temp=R[i+1];
 j=i;
 while(temp.key<=R[j].key&&j>-1){
 R[j+1]=R[j];
 j--;
 }
 R[j+1]=temp;
 }
}
print(RecType R[],int n)
{
 int i;
 for(i=0;i<n-1;i++)
 printf("%d ",R[i]);

}

main()
{
  RecType R[5]={3,5,2,8,6};

  insertsort(R,5);
  print(R,5);
  getch();


}
3 回复
#2
hua151hua2013-12-17 16:41
是排好的数为什么少了一个。
????
#3
不玩虚的2013-12-18 10:32
你好好看看那个循环条件,是循环几次啊不少才怪,0 1 2 3 才4次好不,<n-1改成<=n-1或者<n
#4
付得福2013-12-18 23:27
顶楼上的!
1