weixin_46422883
新手小白wn
采纳率81.8%
2020-06-17 10:48

一个直接排序,结果不对,哪里有错误啊,求大佬解决

已采纳

void Insert_price(SeqList &L)
{
Student p;
int i;
for (i = 0; i < L.last; i++)
if (L.elem[i].price < L.elem[i - 1].price)
{
p = L.elem[i];
int j=0;

        for (j = i - 1; j <= 0 && L.elem[j].price > p.price; j--)
            L.elem[j + 1] = L.elem[j];
        L.elem[j + 1] = p;
    }

i=0;

for(i=0;i<L.last;i++)
{
printf("学号:%s 姓名:%s 成绩:%d\n\n",L.elem[i].no,L.elem[i].name,L.elem[i].price);
}
printf("\n");
}

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • caozhy 从今以后生命中的每一秒都属于我爱的人 11月前
    void Insert_price(SeqList &L)
    {
        Student p;
        int i;
        for (i = 0; i < L.last - 1; i++)
        {
            for (int j = 0; j < L.last - 1 - i; j++)
            {
                if (L.elem[j].price < L.elem[j + 1].price)
                {
                    p = L.elem[j];
                    L.elem[j] = L.elem[j + 1];
                    L.elem[j + 1] = p;
                }
            }
        }
    
        for(i=0;i<L.last;i++)
        {
            printf("学号:%s 姓名:%s 成绩:%d\n\n",L.elem[i].no,L.elem[i].name,L.elem[i].price);
        }
        printf("\n");
    }
    
    点赞 评论 复制链接分享
  • Timor_D Timor_D 11月前
    //实现选择排序,实现从小到大的输出哈!
        public static void mySelectSort(int []inputdata){
    
            for(int i=0;i<inputdata.length-1;i++)
            {
                int minData=inputdata[i];
                for(int j=i+1;j<inputdata.length;j++)
                {
                    if(inputdata[j]<minData)
                    {
                        int temp=inputdata[j];
                        inputdata[j]=minData;
                        minData=temp;
    
                    }
    
                }
    
                inputdata[i]=minData;
            }
    
        }
    
    
    点赞 评论 复制链接分享

相关推荐