下面是代码模板:这是计算机三级考试关于销售排序的模板
void 函数名称()
{
int i,j;
PRO temp
for(i=0;i<99;i++)
for(j=i+1;j<100-i;j++)
if(条件一)
{
temp=sell[i];
sell[i]=sell[j];
sell[j]=temp;
}
else if(假设)
if(条件二)
{
temp=sell[i];
sell[i]=sell[j];
sell[j]=temp;
}
}
条件一,条件二就是让其按产品名称和金额大小排序,这个没有问题。
我不明白的地方是:
按照这个运行程序,i和j的值分别是:
i=0时,j=1-99
i=1时,j=2-98
........
i=98时,j=99(这是j为99>n-i即2,这不就不循环了吗?)
而且这样无法按大小排序,因为
i=0时,j循环确定了sell[0]为最小;
i=1时,j循环中只拿sell[1]和sell[2]-sell[98]进行比较,没有和sell[99]比较;
按我这种理解,后面的就根本不对了。
我想问是我理解错了吗???