概述
《C语言数据结构》严蔚敏,吴伟民版。
上章内容链接:https://blog.csdn.net/daqino1/article/details/88677202
下章内容链接:https://blog.csdn.net/daqino1/article/details/88813280
以下内容为基础的线性表,单链表。
线性表:N个数据元素的有限序列。
// 抽象线性表
ADT List {
// 初始化线性表L
InitList( &L );
// 销毁线性表L
DestroyList( &L );
// 重置L表为空表
ClearList( &L );
// 判断L表是为空表 TRUE,空表;FALSE,非空表
ListEmpty( &L );
// L表中的数据元素个数
ListLength( L );
// 用e返回L表中第i个数据元素的值
GetElem( L, i, &e);
/* 返回L中第1个与e满足关系compare()对数据元素的位序。若这样的数据元素不存在,返回值为0*/
LocateElem( L, e, compare() );
/*若cur_e是L的数据元素,且不是第一个,则用per_e返回它的前驱,否则操作失败,pre_e无定义*/
PriorElem( L, cur_e, &pre_e);
/*若cur_e是L的数据元素,且不是最后一个,则用next_e返回它的后继,否则操作失败,next_e无定义*/
NextElem( L, cur_e, &next_e);
// 在L中第i个位置之前插入新的数据元素e,L的长度加1
ListInsert( &L, i, e);
// 删除L中第i个数据元素,并用e返回其值,L的长度减1
ListDelete( &L, i, &e);
// 依次对L的每个数据元素调用函数visit(). 一旦visit()失败,则操作失败
ListTraverse( L, visit() );
} ADT List
A=AUB的算法:算法2.1
void union(List &La, List &Lb) {
// 将所有在线性表Lb中,但不在La中的数据元素插入到La中
// 求线性表的长度
La_len = ListLength(La);
Lb_len = ListLength(Lb);
for (i = 1; i <= Lb_len; i++) {
// 取出Lb中第i个数据元素赋给e
GetElem(Lb, i, e);
if (!LocateElem(La, e, equal)) {
// La中不存在和e相同的数据元素,插入。
ListInsert(La, ++La_len, e);
}
}
}
集合A和B,非递减有序排列到集合C,算法2.2
void MergeList(
最后
以上就是单身铃铛为你收集整理的C语言数据结构(二),基础的线性表,单链表的全部内容,希望文章能够帮你解决C语言数据结构(二),基础的线性表,单链表所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复