何为带头结点
头结点内不存储任何数据。
基本功能
初始化单链表
建立单链表:头插法和尾插法
遍历单链表
按位序查找元素
按值查找元素
按位序插入结点
按位序删除结点
求单链表长度
代码
#include <iostream>
#include <stdlib.h>
using namespace std;
typedef int ElemType;
//定义单链表结点
typedef struct LNode{
ElemType data;
struct LNode *next;
}LNode,*LinkList;
bool InitList(LinkList &L);//初始化单链表
LinkList List_HeadInsert(LinkList &L);//建立单链表:头插法
LinkList List_TailInsert(LinkList &L);//建立单链表:尾插法
void OutPutList(LinkList L);//遍历输出单链表
LNode *GetElem(LinkList L,int i);//按序号查找元素
LNode *LocateElem(LinkList L,ElemType e);//按值查找元素
bool ListInsert(LinkList &L,int i,ElemType e);//按位序插入结点
bool ListDelete(LinkList &L,int i,ElemType &e);//按位序删除结点
int OutPutLength(LinkList L);
//初始化单链表:带头结点
bool InitList(LinkList &L){
L=(LNode *)malloc(sizeof(LNode));
if(L==NULL){
return false;
}
L->next=NULL