基于C语言实现的链表
程序代码:
#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
#define ERROR 0
#define OK 1
#define True 1
#define False 0
#define OVERFLOW -2
typedef int ElemType;
typedef int Status;
typedef struct LNode{
ElemType data;
struct LNode *next;
}LNode,*LinkList;
void CreateList1_L(LinkList &L, int n);
void CreateList2_L(LinkList &L, int n);
void ClearList_L(LinkList &L);
void DestroyList_L(LinkList &L);
void PrintList_L(LinkList L);
Status InsertList_L(LinkList &L,int i,ElemType e);
Status DeleteList_L(LinkList &L, int i, ElemType &e);
Status GetElem_L(LinkList L,int i,ElemType &e);
LNode *LocateELem1_L(LinkList L,ElemType e);
int LocateELem2_L (LinkList L,ElemType e);
int ListLength_L(LinkList L);
Status ListEmpty_L(LinkList L);
void CreateList1_L(LinkList &L, int n)
{
LNode *p;
L=(LNode *)malloc(sizeof(LNode));
L->next=NULL;
printf("请输入n个数(前插法):\n");
for(int i=n;i>=1;--i)
{
p=(LNode *)malloc(sizeof(LNode));
scanf