渴望春天247 2021-09-19 19:20 采纳率: 84.6%
浏览 33

我想新建一个顺序表,然后给顺序表赋上一些数值,然后再删除其中的一个并返回这个值,用vc++6.0写的,不报错了,但是运行结果如图,请帮我看看哪里出了问题?

img



```c
//预处理
#include <stdio.h>
#include<malloc.h>
#include<stdlib.h>

#define TURE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define INFEASIBALE -1//不可执行的
#define OVERFLOW -2
#define list_init_size 100
#define LISTINCREMENT 10

typedef int status;
typedef int elemtype;
typedef struct
{
    elemtype* elem;//存储空间基址
    int length;//线性表的长度
    int listsize;//线性表当前的空间
}SqList;
//新建空表
status initlist_Sq(SqList& L) {
    L.elem = (elemtype*)malloc(list_init_size * sizeof(elemtype));
    if (!L.elem)exit(OVERFLOW);
    L.length = 0;
    L.listsize = list_init_size;
    return OK;
}
void display(SqList L)//展示
{         
    int i;
    for(i=0;i<=L.length-1;i++)  //定义for循环函数
        printf("%d\n",L.elem[i]);
}
//给顺序表赋上100以内奇数
status listinsert_Sq(SqList &L,int k,elemtype *q) 
{
    int i=1,j=0;
    while(i)
    {
        q=(int *)malloc(sizeof(int));
        if(q[j]==k-1)
        {
            free(q);
            break;
        }
        else
        {
        L.elem[L.length]=*(q+j);
        L.length+=1;
        }
        j++;
    }
    return OK;
}
//删除
status listdelete_Sq(SqList *L,int i,elemtype &x) 
{
    int k;
    if(L->length==0)
    {
        printf("线性表为空\n");
        return ERROR;
    }
    else if(i<1||i>L->length)
    {
        printf("要删除的元素不存在\n");
        return ERROR;
    }
    else
    {
        printf("要删除的元素存在\n");
        x=L->elem[i-1];
        for(k=1;k<L->length;k++)
            L->elem[k-1]=L->elem[k];
        L->length--;
    return(x);
    }
}
void main()
{
    int a[50];
    int    *p=a;
    for(int k=0;k<50;k++) //赋值给数组
    {
        a[k]=2*k+1;       //注意公式,从0开始算
    }
    SqList L; //定义线性表
    initlist_Sq(L);                //调用空表
    elemtype e;
    listinsert_Sq(L,100,p);
    listdelete_Sq(&L,2,e);
    display(L);
    printf("%d\n",e);
}


  • 写回答

1条回答 默认 最新

  • orange4reg 2021-09-19 22:36
    关注

    listinsert_Sq(L,100,p); 改成listinsert_Sq(L,50,p);

    评论

报告相同问题?

问题事件

  • 创建了问题 9月19日

悬赏问题

  • ¥15 征集Python提取PDF文字属性的代码
  • ¥15 如何联系真正的开发者而非公司
  • ¥15 有偿求苍穹外卖环境配置
  • ¥15 代码在keil5里变成了这样怎么办啊,文件图像也变了,
  • ¥20 Ue4.26打包win64bit报错,如何解决?(语言-c++)
  • ¥15 clousx6整点报时指令怎么写
  • ¥30 远程帮我安装软件及库文件
  • ¥15 关于#自动化#的问题:如何通过电脑控制多相机同步拍照或摄影(相机或者摄影模组数量大于60),并将所有采集的照片或视频以一定编码规则存放至规定电脑文件夹内
  • ¥20 深信服vpn-2050这台设备如何配置才能成功联网?
  • ¥15 Arduino的wifi连接,如何关闭低功耗模式?