写在前边:单链表:
1.带头结点的单链表:L头指针->头结点(data域不存数据元素,只指向下一个元素)->a1->a2->..->NULL
2.不带头结点的单链表:L头指针->a1->a2...->NULL
以上两种区别在于:无头结点的单链表在进行插入/删除元素时要对i=1的情况做特殊处理
一、带头结点的单链表基本操作
#include <stdlib.h> #include <stdio.h> #include <iostream> using namespace std; typedef struct LNode { int data; struct LNode *next; }LNode,*LinkList; bool init_LinkList_head(LinkList &L); bool empty_LinkList_head(LinkList L); bool insert_LinkList_head(LinkList &L,int i,int e); bool insertNextNode_LinkList_head(LNode *p,int e); bool insertPriorNode_LinkList_head(LNode *p,int e); bool insertPriorNode2_LinkList_head(LNode *p,LNode *s); bool delete_LinkList_head(LinkList &L,int i,int &e); bool deleNode_LinkList_head(LNode *p); LNode * getElem_LinkList_head(LinkList L,int i); LNode * locateElem_LinkList_head(LinkList L,int e); int length(LinkList L); LinkList List_tailInsert_LinkList_head(LinkList &L); LinkList List_headInsert_LinkList_head(LinkList &L);
标签:head,单链,LNode,int,LinkList,bool,ds From: https://www.cnblogs.com/jinziguang/p/17367016.html