lhz2002zy 2023-03-11 16:42 采纳率: 50%
浏览 30
已结题

c语言链表基本操作问题


#include<stdio.h>
#include<stdlib.h>

#define OK 1;
#define ERROR 0;
#define OVERFLOW -2;

typedef int Status;

#define MAXSIZE 100;
//单链表的存储
typedef struct LNode
{
 int data;
 struct LNode *next;
}LNode,*Linklist;


//前插法
void CreateList(Linklist &L,int n)
{
 L = new LNode;
 L->next = NULL;
 Linklist p;
 for(int i = 0 ;i < n ;i++)
 {
  p = new LNode;
  scanf("%d",&p->data);
  p->next = L->next;
  L->next = p;
 }
}
//单链表的取值
Status GetElem(Linklist L,int i,int &e)
{
 Linklist p;
 int j;
 p = L->next;
 j = 1;
 while(p&&(j<i))
 {
  p = p->next;
  j++;
 }
 if(!p || (j>i))
  return ERROR;
 e = p->data;
 return OK;
}

//单链表的插入
Status ListInsert(Linklist &L,int i,int e)
{
 Linklist p,s;
 int j;
 p = L;
 j=0;

 while(p&&j<i-1)
 {
  p = p->next;
  j++;
 }

 if(!p || j>i-1)
  return ERROR;
 s = new LNode;
 s->data = e;
 s->next = p->next;
 p->next = s;
 return OK;
}

//单链表的删除
Status ListDelete(Linklist &L,int i)
{
 Linklist q,p;
 int j = 0;
 p = L;
 while((p->next) && j<i-1)
 {
  p = p->next;
  j++;
 }
 if (!(p->next) || (j>i-1))
  return ERROR;
 q = p->next;
 p->next = q->next;
 delete q;
 return OK;
}

//单链表的遍历
void DisplayList(Linklist L)
{
 Linklist p;
 p = L->next;
 while(p != NULL )
 {
  printf("%d\t",p->data);
  p = p->next;
 }
}

int main()
{
 int n,x,a,j;
 int num,k;   

 Linklist mylist;

 printf("准备输入多少个数据:");
 scanf("%d\n",&n);
 CreateList(mylist,n);
 

 printf("单链表的内容为:\n");
 DisplayList(mylist);

 //插入
 printf("\n请输入你要插入的位置:");
 scanf("%d\n",&j);
 printf("\n请输入你要插入的数字:");
 scanf("%d\n",&num);
 ListInsert(mylist,j,num);

 printf("\n插入后的内容为:");
 DisplayList(mylist);

 //删除
 printf("\n请输入你要删除第几个字符:");
 scanf("%d\n",&k);
 ListDelete(mylist,k);

 printf("删除后的内容为:");
 DisplayList(mylist);

 return 0;
}

求问我这个为什么到插入时候就会出现错误

  • 写回答

4条回答 默认 最新

  • 以山河作礼。 新星计划导师 2023-03-11 16:53
    关注

    把框里的\n去掉

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 3月19日
  • 已采纳回答 3月11日
  • 创建了问题 3月11日

悬赏问题

  • ¥15 基于ucc28019的pfc电路中芯片一直不工作
  • ¥15 yolov8在3588板子端c++推理报错
  • ¥50 unitywebrequest分段下载导致报错,如何解决?
  • ¥15 错误使用 gretna_GUI_PreprocessInterface>RunBtn_Callback
  • ¥15 WPF如何用Chart绘画出Y轴的左边数据
  • ¥15 pycharm无法查看内置代码
  • ¥15 跑hls xfopencv的例程standalone_hls_axi_example出的错误,csim没问题,c synthesis出的错误
  • ¥15 sqlserver update语句逐行生效
  • ¥20 Windows10系统命令行调用
  • ¥15 php环境如何实现国密SM2相关功能