建议新人收藏使用!
首先,让我们回顾一下顺序表的优缺点:
1、优点:
随机存取;
存储空间利用率高。
2、缺点:
插入、删除效率低;
必须按事先估计的最大元素个数分配连续的存储空间,难以临时扩大。
采用链式存储结构的线性表称为链表。
链表有单链表、循环链表和双向链表等多种类型。
链表中,不仅需要存储每个数据元素,还需存储其直接后继的存储地址,这两部分数据信息组
合起来称为结点。
结点包括两类域:
存储数据元素信息的域称为数据域;
存储直接后继存储地址的域称为指针域。
每个结点只包含一个指针域的链表,称为单链表。
最后一个结点的指针域为NULL,在图中记为^。
first是头指针,指向链表中的第一个结点,链表中的第一个结点称为头结点

目录
头文件及函数声明等:
#include<stdio.h> //提供system()
#include<stdlib.h> //提供malloc()和free()
#include <malloc.h> //开辟空间
#include <string.h> //提供strcpy()等
typedef int ElemType;
typedef struct node;
typedef int Startus;//获得元素的操作
//结点结构体
typedef struct node
{
ElemType element ; //结点的数据域
struct node *link; //结点的指针域(指向节点的指针)
}Node;
//头结点结构体
typedef struct singleList
{
struct node * first;//头结点
int n;
}SingleList;
SingleList slist;//结构体变量
void menu( );
void init(SingleLi