随笔分类 - 数据结构和算法
摘要:(一)有序列表的合并算法 1.合并两个有序列表并且按升序排列——顺序表 void MergeList_Sq(SqList LA, SqList LB, SqList &LC) { pa = LA.elem // 定义两个pa、pb指针指向两个表的第一个元素 pb = LB.elem LC.lengt
阅读全文
摘要:一、双向链表 (一)双链表的结构定义 typedef struct DuLnode{ //声明结点的类型和指向节点的指针类型 ElemType data //结点的数据域 struct Lnode *next,*prior //结点的指针域,分为后驱结点的地址和前驱结点的地址 }Lnode, *Du
阅读全文
摘要:一、链表的结构表示 (一)相关术语: 1.节点:数据元素的存储映像。由数据域和指针域两部分组成。2.链表:n个节点由指针域组成一个链表。它是线性表的链式存储映像,称为线性表的链式存储结构 单链表的结构: typedef struct Lnode{ //声明结点的类型和指向节点的指针类型 ElemTy
阅读全文
摘要:一、线性表 (一)线性表的顺序储存表示 一般一个顺序表由两个部分描述: 1.一个名为elem的数组,大小为MAXSIZE 2.一个整数来存储元素个数。 静态方式: #define MAXSIZE 100 typedef struct{ ElemType elem [MAXSIZE]; int len
阅读全文
摘要:一、链表 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点组成,对于链表来说删除或添加一个元素是非常方便的,除了数据的随机访问(可以实现但是比较麻烦,比如可以通过添加和操作索引值来实现),它几乎可以用在任何可以使用一维数组的情况中
阅读全文