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日

悬赏问题

  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 AT89C51控制8位八段数码管显示时钟。
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题