一:实现基本单链表
这里想实现单链表的基本操作:
1.构造空的单链表
2.建立包含若干的数据元素的单链表
3.求出表长
4.获取第i个元素值
5.数据元素的插入
6.数据元素的删除
7.输出顺序表等
这里先定义单链表存储结构List;通过自定义函数实现单链表基本操作;然后调试运行程序。
list.h
#include #include #include #include #include #include // #include #include // #include // 函数状态的代码 #define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR 0 #define INFEASIBLE -1 // status是函数的返回值类型,该值是函数结果状态代码,譬如ok等 typedef int Status;
lnode.h
#include"list.h" typedef int ElemType; typedef struct LNode{ ElemType data; LNode *next; }LNode,*LinkList; // 实现单链表的部分基本操作 // 构造一个空的线性表L void InitList(LinkList &L){ // 先产生头节点,同时让头节点指针指向此头节点 L = (LinkList)malloc(sizeof(LNode)); // 存储分配失败的情况 if(!L) exit(OVERFLOW); // 设置头节点指针域为空,初始单链表为空 L->next = NULL; } // 求线性表L的长度 int ListLength(LinkList L){ int length = 0; // 从第一个节点开