1.3.3线性表的链式存储结构adt
来源:互联网 发布:李炎恢 javascript 编辑:程序博客网 时间:2024/05/17 07:51
//结点类型
typedef struct LNode{
ElemType data;
struct LNode *next;
}*Link,*Position;
//链表类型
typedef struct LNode{
Link head,tail; //分别指向线性链表中的头结点和最后一个结点
int len; //指示线性链表中的数据元素的个数
}LinkList;
/*******************线性链表基本操作*********************/
Status MakeNode(Link &p,ElemType e);
//分配由p指向的值为e的结点,并返回OK;若分配失败,则返回ERROR;
void FreeNode(Link &p);
//释放p所指向的结点
Status InitList(LinkList &L);
//构造一个空的线性链表L
Status DestroyList(LinkList &L);
//销毁线性链表L,L不再存在
Status ClearList(LinkList &L);
//将线性链表L重置为空表,并释放原链表的结点空间
Status InsFirst(Link h,Link s);
//已知 h 指向线性链表的头结点,将 s 指向结点插入在第一个结点之前
Status DelFirst(Link h,Link &q);
//已知 h 指向线性链表的头结点,删除链表中的第一个结点并以 q 返回
Status Append(LinkList &L,Link s);
//将 s 指向的一串结点链接在线性表L的最后一个结点
//之后改变链表L的尾指针指向新的尾结点
Status Remove(LinkList &L,Link &q);
//删除线性链表L中的尾结点并以q返回,改变链表L的尾指针指向新的尾结点
Status InsBefore(LinkList &L,Link &p,Link s);
//已知p指向线性表L中的一个结点,将s所指结点插入到p所指结点之前
//并修改指针p指向新插入的结点
Status InsAfter(LinkList &L,Link &p,Link s);
//已知p指向线性表L中的一个结点,将s所指结点插入到p所指结点之后
//并修改指针p指向新插入的结点
Status SetCurElem(Link &p,ElemTyoe e);
//已知p指向线性表L中的一个结点,用e跟新p所指结点中数据元素的值
Status GetCurElem(Link p,ElemTyoe &e);
//已知p指向线性表L中的一个结点,用e返回p所指结点中数据元素的值
Status ListEmpty(LinkList L);
//若线性表L为空表,则返回TRUE,否则返回FALSE
int ListLength(LinkList L);
//返回线性表L中元素个数
Position GetHead(LinkList L);
//返回线性表L中头结点的位置
Position GetLast(LinkList L);
//返回线性表L中尾结点的位置
Position PriorPos(LinkList L,Link p);
//已知p指向线性表L中的一个结点,返回p所指结点的直接前驱位置
//若无前驱则返回NULL
Position NextPos(LinkList L,Link p);
//已知p指向线性表L中的一个结点,返回p所指结点的直接后继位置
//若无后继则返回NULL
Status LocatePos(LinkList L,int i,Link &p);
//用p返回线性链表L中第i个位置的结点并返回OK,i值不合法则返回ERROR;
Position LocateElem(LinkList L,ElemType e,Status(*compare)(ElemType,ElemType));
//返回线性链表L中第一个与e满足函数compare()判定关系的元素的位置
//若不存在这样的元素则返回NULL
Status ListTraverse(LinkList L,Status(*visit)());
//依次对L的每个元素调用函数visit()。一旦visit失败则操作失败
/////////***********待完善****************/////////博主打字打到现在好累
0 0
- 1.3.3线性表的链式存储结构adt
- 线性表的链式存储结构
- 链式存储结构的线性表
- 线性表的链式存储结构
- 【数据结构】线性表的链式存储结构
- 线性表的链式存储结构
- 线性表的链式存储结构
- 线性表的链式存储结构
- 线性表的链式存储结构
- 线性表的链式存储结构
- 【二】线性表的链式存储结构
- 线性表的链式存储结构
- 线性表的链式存储结构(三)
- 【数据结构】-线性表的链式存储结构
- 线性表的链式存储结构
- 线性表的链式存储结构
- 线性表的链式存储结构
- 线性表的链式存储结构
- Windows 10下安装配置Caffe并支持GPU加速
- Tomcat7配置
- PostgreSQL教程 -part2高级特性
- 第十六周--项目1-验证算法(4)快速排序
- UVa 11100 The Trip, 2007 (排序)
- 1.3.3线性表的链式存储结构adt
- iOS --调用webservice接口
- 扬帆起航,再踏征程(三)
- 网易邵峰:移动直播视频流分发网络的演进
- [编程题]数据分类处理
- ViewPager简单示例
- Django外键查询及@property在model中的妙用
- SHA1WithRSA签名使用openssl 实现
- GC算法 垃圾收集器