1.头文件(list.h)
#pragma once typedef int ElemType; typedef struct Node { ElemType data;//数据 struct Node* next;//后继指针 }Node, * List;//list==Node * //typedef Node* List;//List == Node * //List本质是Node*,但含义不同,List表示一条链表,Node*表示一个节点的地址 //初始化plist void InitList(List plist); //输出plist的所有数据 void Show(List plist); //往plist中头部插入数字val bool Insert_head(List plist, ElemType val); //往plist中的尾部插入数字val bool Insert_tail(List plist, ElemType val); //在plist中查找val值,找到返回该节点地址,失败返回NULL Node* Search(List plist, ElemType val); //获取val的前驱 Node* Prior(List plist, ElemType val); //删除plist中的第一个val bool DeleteVal(List plist, ElemType val); //判断plist是否为空链表(没有数据节点) bool IsEmpty(List plist); //获取plist长度,数据节点的个数 int GetLength(List plist); //获取plist链表的pos位置的值 //int GetElem(List plist, int pos);//设计有问题:无法清晰的表示出错 bool GetElem(List plist, int pos, int* rtval);//rtval:输出参数 //获取val的后继 Node* Next(List plist, ElemType val); //
数据结构单链表
最新推荐文章于 2022-11-19 17:00:10 发布