单链表:
单链表的类型定义:
typedef struct LNode{
LElemType data;
struct LNode *next;
LNode ( LElemType Data=0, struct LNode *Next=NULL){
data=Data;
next=Next;
}
}LNode,*LinkList;
单链表基本操作的实现:
(1)、初始化操作 InitLinkList( &L )
(2)、建立单链表的操作 CreateLinkList(&L , n)
(3)、判断一个线性表是否为空表ListIsEmpty(L)
(4)、求线性表的长度ListLength( L )
(5)、取线性表中的第i个元素GetElem(L,i,&e)
(6)、查找元素e在线性表中的位序LocateElem(L,e)
(7)、插入操作ListInsert(&L,i,e)
(8)、删除操作LIstDelete(&L,i,&e)
(1)、初始化操作 InitLinkList( &L )
void InitLinkList(LinkList &L){
L=new LNode ;
}
(2)、建立单链表的操作 CreateLinkList(&L , n)
void CreateLinkList_Tail(LinkList &L, int n=0){ //尾插法
L=new LNode ;
LinkList pre=L,tmp;
LElemType Data;
for (int i=0;i<n;i++){
printf("请输入第%d个元素的data : \n",i+1);
cin>>Data;
tmp=new LNode (Data);
pre->next=tmp;
pre=tmp;
}
}
void CreateLinkList_Head(LinkList &L, int n=0){ //头插法
L=new LNode;
LinkList Tail,tmp