大概写了150多行,都是很基础的操作。需要的自取。
(书籍为数据结构教程(第五版)李春葆)
实验内容
实验三 链表基本操作的实现
【实验目的】
1.掌握线性表的链式存储表示。
2.掌握单链表的基本操作,包括创建、查找、插入和删除等算法。
【实验内容】
编写程序linklist.cpp,实现单链表的各种基本运算(假设单链表的元素类型为char),并在此基础上设计主程序main.cpp,完成如下功能:
1.初始化单链表;
2.依次采用尾插法插入元素a,b,c,d,e;
3.输出单链表;
4.判断单链表的长度;
5.判断单链表是否为空;
6.输出单链表的第3个元素;
7.输出元素a的位置;
8.在第4个元素位置插入元素f;
9.输出单链表;
10.删除单链表的第3个元素;
11.输出单链表;
12.释放单链表。
#include <stdio.h>
#include <malloc.h>
typedef char ElemType;
typedef struct LNode {
//定义单链表结点类型
ElemType data;
struct LNode *next;
} LinkNode;
void CreateListR(LinkNode*&L,ElemType a[],int n) {
//用尾插法创建单链表
LinkNode *s,*r;
L=(LinkNode*)malloc(sizeof(LinkNode));
r=L;
for(int i=0; i<n; i++) {
s=(LinkNode*)malloc(sizeof(LinkNode));
s->data=a[i];
r->next=s;
r=s;
}
r->next=NULL;
}
void InitList(LinkNode*&L) {
//初始化线性表
L=(LinkNode*)malloc(sizeof(LinkNode));
L->next=NULL;
}
bool ListInsert(LinkNode