作业要求“分别以单链表,循环链表,双向链表为例,实现线性表的建立,插入和删除等基本操作”

来源:百度知道 编辑:UC知道 时间:2024/05/12 14:42:16
要求:能把建立,插入,删除等基本操作的过程随时显示出来。我是编程白痴,各路大虾帮个忙救救火吧~~~跪谢了
希望哪位大虾能提供一下源代码!!!!感激不尽阿
我刚注册,没有太多积分,有的都拿出来了,实在是很急啊!!!麻烦大家了救救火吧

#include "stdio.h"
#include "stdlib.h"
#define ERROR 0
#define OK 0
typedef int Elemtype;
typedef int status;
typedef struct LNode{
Elemtype date;
struct LNode *next;
}LNode,*LinkList;
//建立链表
void CreateList(LinkList &L){
LinkList p;int i,n;
printf("请输入要建立链表的长度\n");
scanf("%d",&n);
L=(LinkList)malloc(sizeof(LNode));
L->next=NULL;
for(i=n;i>0;--i){
p=(LinkList)malloc(sizeof(LNode));
scanf("%d",&p->date);
p->next=L->next;L->next=p;
}
}
//输出链表
void PrintList(LinkList L){
LinkList p;
for(p=L->next;p;p=p->next)
printf("%5d",p->date);
}
//在i位置插入元素e
status ListInsert(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