针对链式或顺序存储的线性表实现指定的操作

实验一 针对链式或顺序存储的线性表实现指定的操作
一、实验目的
1.熟悉C语言的上机环境,进一步掌握C语言的结构特点。
2.掌握线性表的链式存储结构——单链表的定义及各种基本操作。
二、实验内容
编写一个程序linklist.cpp,实现单链表的各种基本运算和建表算法;
并在此基础上设计一个主程序exp1.cpp顺次完成以下功能:
(1)采用头插法建表:1 3 2 3 4 10 5 7 8 5 9;
(2)输出单链表;
(3)输出单链表的长度;
(4)删除单链表的第5个元素;
(5)在第7个位置上插入元素4;
(6)删除单链表中元素值最大的结点;
(7)输出单链表。
三、实验步骤
(1)linklist.cpp程序中包含如下函数:
Initlist(LinkNode *&L); //初始化单链表L,建立一个带头结点的单链表
ListLength(LinkNode *L); //返回单链表L的长度
ListInsert(LinkNode *&L,int i,ElemType e); //在单链表L的第i个位置上插入元素e
ListDelete(LinkNode *&L,int i,ElemType &e);//删除单链表L的第i个元素
DispList(LinkNode *L);//输出单链表L
CreateListT(LinkNode *&L,ElemType A[],int n);//头插法建表L
DelMaxNode(LinkNode *&L);//删除单链表中元素值最大的结点
(2)主程序exp1.cpp
执行以上函数实现功能(1)-(7)
四、实验重点、难点
单链表的插入和删除操作
五、思考与提高
建立头指针和尾指针在实现算法时有何不同?

我博客中有一篇单链表的操作,基本操作都有希望对你有用。