我从mycodeschool学到了这个实现,这个方法对我来说似乎没问题,因为那是教师的教导方式,我做了同样的实现,但不知怎的,我的代码给出了一个问题,同样,请忽略时间函数,因为错误在别的地方。我删除它,错误仍然是相同的。
I8,A,001
Q0001,0
q831
rN
S2
D15
ZT
JF
O
R0,0
f100
N
A495,174,2,1,1,1,N,"1"
A494,107,2,1,1,3,N,"1"
A764,103,2,4,1,1,N,"Vehicle No : "
A766,176,2,4,1,1,N,"Container No : "
B780,379,2,1,7,21,160,N,"$Zendor"
X0,399,1,0,400
P1
答案 0 :(得分:1)
我可以看到的一个错误是你在while循环的终止条件下错误地使用了i。您应该使用变量索引,我相信这也是您的初衷。
在我描述的修正之后,你的sort函数似乎可以工作,你可能会看到here,使用不同的main()。下面,您可以在校正后看到排序函数的定义。
void sort(int a[], int n) { //insertion sort function
for (int i = 1; i < n; i++) {
int value = a[i];
int index = i;
while (index > 0 && a[index - 1] > value) {
a[index] = a[index - 1];
index=index-1;
}
a[index] = value;
}
}