暴躁卡卡- 2020-08-28 12:14 采纳率: 33.3%
浏览 107
已结题

求帮填空一下这个排序代码!!!感激不尽!!

#include
#include
#define M 50
typedef struct
{
int elem[M+1]; //设从1下标开始保存元素
int last; //last为最后一个元素的下标
}Seqlist;
void input(Seqlist *L)
{
int i,n;
scanf("%d",&n);
if(n<=M)
L->last=n;
else return;
for(i=1;i<=L->last;i++)
scanf("%d",&L->elem[i]);
}
void output(Seqlist *L)
{
int i;
for(i=1;i<=L->last;i++)
printf("%-4d",L->elem[i]);
printf("\n");
}
void sort(Seqlist *L)//排序方法三选一:直接插入排序、简单选择排序、冒泡排序
{
}
int main()
{
Seqlist A;
input(&A);
printf("Before Sort:");
output(&A);
sort(&A);
printf("After Sort:");
output(&A);
return 0;
}

  • 写回答

1条回答 默认 最新

  • threenewbee 2020-08-28 12:39
    关注
    你的Seqlist的定义比较奇怪,下标是1~N,而不是0~N-1
    代码如下
    void sort(Seqlist *L)
    {
    for (int i = 1; i < L->n; i++)
    for (int j = 1; j < L->n - i; j++ )
    {
    if (L->elem[j] > L->elem[j + 1])
    {
    int t = L->elem[j];
    L->elem[j] = L->elem[j + 1];
    L->elem[j + 1] = t;
    }
    }
    }
    

    问题解决的话,请点下采纳。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 2月20日

悬赏问题

  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
  • ¥20 怎么在stm32门禁成品上增加查询记录功能