⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 link.txt

📁 连表 连表 连表 连表 连表 连表 连表 连表 连表 连表 连表 连表 连表 连表 连表 连表 连表 连表 连表
💻 TXT
字号:
#include<stdio.h>
#include<stdlib.h>
#define OK 1
#define ERROR 0
#define OVERFLOW -2
typedef int Status;
typedef int ElemType;
typedef struct LNode
{
 ElemType data;
 struct LNode *next;
}LNode,*LinkList;
Status ListInsert_L(LinkList L,int i,ElemType 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=(LinkList)malloc(sizeof(LNode));
 s->data=e;s->next=p->next;
 p->next=s;
 ++L->data;
 return OK;
}
Status ListDelete_L(LinkList L,int i,ElemType *e)
{
 LinkList p,q;
 int j;
 p=L;j=0;
 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;
 *e=q->data;free(q);
 --L->data;
 return OK;
}
void dsply(Status p)
{
 switch(p)
 {
  case -2:printf("OVERFLOW");break;
  case 0:printf("ERROR");break;
  case 1:printf("OK");
 }
}
void main()
{
 char c=0;
 ElemType p,v,j;
 LinkList k;
 LNode Lst;Lst.data=0;Lst.next=0;
 for(;c!=3;)
 {
  printf("1--ListInsert.\n2--ListDelete.\n3--Exit.\nPlease select your choice:");
  scanf("%d",&c);
  if(c==1)
  {
   printf("Please input the position and the value:");
   scanf("%d%d",&p,&v);
   dsply(ListInsert_L(&Lst,p,v));
   printf("\nNow the list length is %d.\n",Lst.data);
   j=1;
   for(k=Lst.next;k;k=k->next){printf("%d\t%d\n",j,*k);++j;}
  }
  if(c==2)
  {
   printf("Please input the position:");
   scanf("%d",&p);
   dsply(ListDelete_L(&Lst,p,&v));
   printf("\nNow the list length is %d.\n",Lst.data);
   j=1;
   for(k=Lst.next;k;k=k->next){printf("%d\t%d\n",j,*k);++j;}
  }
 }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -