本文只涉及单链表的基本操作,由于本人是初学者所以相关排序和查找等算法后期更新。
本文涉及单链表的以下内容:
- 单链表的初始化
- 单链表的合法判定
- 单链表成员的打印
- 单链表成员的赋值(头插法)(尾插法)
- 顺序表成员的清空
- *顺序表成员的插入
- *顺序表成员的删除
/*单链表test*/
#include<iostream>
#include<stdlib.h>
typedef int ElemType;
typedef struct Linklist{
ElemType data;
struct Linklist *next;
}*LinkList,Lnode;
//单链表初始化
bool initList(LinkList &L){
L= new Lnode;
L=L->next=NULL;
return true;
}
//打印单链表
void printList(LinkList &L){
LinkList p = L->next;
if(p==NULL){
printf("链表已空!\n");
}
else{
printf("当前单链表成员为:\n");
while(p!=NULL){
printf("%d\t",p->data);
p=p->next;
}
}
printf("\n");
}
//单链表的创建(头插法)
void H_createList(LinkList &L){
LinkList p;
L=new Lnode;
L->next=NULL;
int e;
int l = 1;
for(int i=0;i<l;l++){
p