📄 linklist.cpp
字号:
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#define OVERFLOW -2
#define ERROR -1
#define OK 1
typedef struct LNode
{
int data;
struct LNode *next;
}LNode,*LinkList;
int CreateLink_L(LinkList &L,int n)
{
LinkList p,q;
int i;
L=(LinkList)malloc(sizeof(LNode));
L->next=NULL;
q=L;
for(i=1;i<=n;i++)
{
p=(LinkList)malloc(sizeof(LNode));
scanf("%d",&p->data);
q->next=p;
q=p;
}
q->next=NULL;
return OK;
}
int LoadLink_L(LinkList &L)
{
LinkList p=L->next;
printf("The LinkList is:");
while(p!=NULL)
{
printf("%d ",p->data);
p=p->next;
}
printf("\n");
return OK;
}
int LinkInsert(LinkList &L,int i,int e)
{
LinkList p,s;
int j=0;
p=L;
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;
return OK;
}
int ListDelete_L(LinkList &L,int i,int &e)
{
LinkList p=L,q;
int 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=p->data;
free(q);
return OK;
}
int main()
{
LinkList L;
int a,n,i,x;
scanf("%d",&n);
if(CreateLink_L(L,n))
{
LoadLink_L(L);
}
while(1)
{
printf("1:Insert element\n2:Delete element\n3:Load all elements\n0:Exit\nPlease choose:\n");
scanf("%d",&a);
switch(a)
{
case 1: scanf("%d%d",&i,&x);
if(LinkInsert(L,i,x)==ERROR) printf("ERROR\n");
else LoadLink_L(L);
break;
case 2: scanf("%d",&i);
if(ListDelete_L(L,i,x)==ERROR) printf("ERROR\n");
else LoadLink_L(L);
break;
case 3: LoadLink_L(L);
break;
case 0: return 0;
}
}
return 0;
}
/*
int main()
{
LinkList T;
int a,i,x,n;
scanf("%d",&n);
if(CreateLink_L(T,n))
{
LoadLink_L(T);
}
while(1)
{
printf("1:Insert element\n2:Delete element\n3:Load all elements\n0:Exit\nPlease choose:\n");
scanf("%d",&a);
switch(a)
{
case 1:scanf("%d%d",&i,&x);;
if(LinkInsert(T,i,x)==ERROR)
{
printf("ERROR\n");
}
else LoadLink_L(T);
break;
case 2:scanf("%d",&i);
if(ListDelete_L(T,i,x)==ERROR) printf("ERROR\n");
else LoadLink_L(T);
break;
case 3:LoadLink_L(T);
break;
case 0:return 0;
}
}
return 0;
}
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -