rmy_lay
rmy_lay
2021-01-16 11:28

想请各位看看这样的选择排序有问题吗?

  • c++
  • c语言

void price_dish(SqList *L)
{
    int i,j,t,min,b;
    double a;
    char q[20],w[10];
    SqList *p=L;
    for (i=0;i<p->length-1;i++){
        min=i;
        for (j=i+1;j<p->length;j++)

            if (p->data[j].dishprice<p->data[min].dishprice){
                min=j;
                t=p->data[min].dishnumber;
                strcpy(q,p->data[min].dishname);
                strcpy(w,p->data[min].style);
                a=p->data[min].dishprice;
                b=p->data[min].salequantity;
                
                p->data[min].dishnumber=p->data[i].dishnumber;
                strcpy(p->data[min].dishname,p->data[i].dishname);
                strcpy(p->data[min].style,p->data[i].style);
                p->data[min].dishprice=p->data[i].dishprice;
                p->data[min].salequantity=p->data[i].salequantity;
                
                p->data[i].dishnumber=t;
                strcpy(p->data[i].dishname,q);
                strcpy(p->data[i].style,w);
                p->data[i].dishprice=a;
                p->data[i].salequantity=b;
            }
    } 
    printf("最新价格由低到高排行榜为:\n");
    DispListS_dish(sq);
}

 

但输出的结果是这样的:

你

 

  • 点赞
  • 收藏
  • 复制链接分享

4条回答