编写一个程序exp2-2.cpp,实现单链表的各种基本运算(假设单链表的元素类型为char),并在此基础上完成如下功能:
(1)初始化单链表h;
(2)采用尾插法依次插入元素a,b,c,d,e;
(3)输出单链表h;
(4)输出单链表h长度;
(5)判断单链表h是否为空;
(6)输出单链表h的第3个元素;
(7)输出元素a的位置;
(8)在第4个元素位置上插入元素f;
(9)输出单链表h;
(10)删除h的第3个元素;
(11)输出单链表h;
(1)初始化单链表h;
(2)采用尾插法依次插入元素a,b,c,d,e;
(3)输出单链表h;
(4)输出单链表h长度;
(5)判断单链表h是否为空;
(6)输出单链表h的第3个元素;
(7)输出元素a的位置;
(8)在第4个元素位置上插入元素f;
(9)输出单链表h;
(10)删除h的第3个元素;
(11)输出单链表h;
(12)释放单链表h。
#include <iostream>
#include <cstdlib>
using namespace std;
struct LinkList
{
char data;
struct LinkList * next;
};
void InitList(LinkList *&);//初始化单链表
void CreateList(LinkList *&,char [],int);//尾插法插入单链表
void DispList(LinkList *);//输出单链表
int ListLength(LinkList *);//输出单链表长度
bool ListEmpty(LinkList *);//判断单链表是否为空
char GetElem(LinkList *,int);//输出单链表的第a个元素
int LocateElem(LinkList *,char);//输出某元素的位置
bool ListInsert(LinkList *&,int,char);//在某位置插入元素
bool ListDelete(LinkList *&,int);//删除某个元素
void DestroyList(LinkList *&);//释放单链表
int main()
{
char a[]="abcde";
cout<<"单链表的基本算法如下:"<<endl;
Li