链表
链表
Mongo_girl
哈哈哈哈哈哈哈哈
展开
-
链表的基本操作
#include#include#include#include#include#include#include#include#include#includeusing namespace std;template struct lb{ t data; lb *next;};template class lbl{ public: lb *head; pub原创 2017-08-12 10:11:38 · 216 阅读 · 0 评论 -
一元多项式的表示及其运算
明天继续完善Status cmp(PElemType a, PElemType b) { if (a.expn>=b.expn) return 1; else return 0;}void CreatPolyn(PLinkList &P, int m) { // 算法2.22 // 输入m项的系数和指数,建立表示一元多项式的有序链表P PLink ...原创 2019-01-25 22:42:16 · 818 阅读 · 0 评论 -
带头结点的线性链表基本操作以及归并操作
Status DelFirst_E(ELinkList *L, Link h, Link *q){ *q = h->next; if(*q) //链表非空 { h->next = (*q)->next; if(!h->next) //h后只有一个结点 (*L).tail = h; (*L).len--;...原创 2019-01-25 22:38:02 · 476 阅读 · 0 评论 -
双循环链表的基本操作
双循环链表的基本操作【算法2.18、2.19】Status InitList_DuL(DuLinkList *L){ *L = (DuLinkList)malloc(sizeof(DuLNode)); if(!(*L)) exit(OVERFLOW); (*L)->next = (*L)->prior = *L; return OK;} Status ...原创 2019-01-25 22:31:30 · 250 阅读 · 0 评论 -
静态链表的基本操作——集合运算
利用静态链表计算集合(A-B)∪(B-A),由终端输入集合元素,先建立表示集合A的静态链表S,而后在输入集合B的元素的同时查找S表,若存在和B相同的元素,则从S表中删除之,否则将此元素插入S表。【算法2.16】1.将整个数组空间初始化成一个链表 2.从备用空间取得一个结点 3.将空闲结点链结到备用链表上 #include<stdio.h>#include<...原创 2019-01-25 22:25:32 · 1220 阅读 · 1 评论 -
静态链表的基本操作
首先让数组的元素都是有两个数据域组成,data和cur。也就是说,数组的每个下标都对应一个data和一个cur。数据域data,用来存放数据元素,也就是通常我们要处理的数;而游标cur相当于单链表中的next指针,存放该元素的后继在数组中的下标。通常我们把这种用数组描述的链表叫做静态链表(游标实现法)。数组逻辑上分为两个链表:备用链表(空闲的节点)和数据链表(已被使用的节点)我们把静态...原创 2019-01-25 22:23:54 · 918 阅读 · 0 评论 -
单链表的基本操作——归并
将两个有序链表La、Lb合并为一个有序链表Lc : MergeList 【算法2.12】#include<stdio.h>#include<stdlib.h>typedef int Status; //状态码识别类型typedef int ElemType;#define OVERFLOW -2 //堆栈上溢#define UNDERFLOW...原创 2019-01-25 22:17:33 · 1109 阅读 · 0 评论 -
单链表的基本操作
学习严蔚敏老师《数据结构(C语言版)》,关于单链表的基本操作:1.单链表的存储结构2.初始化 InitList_L3.在带头结点的单链表中第i个位置之前插入元素e ListInsert_L【2.9】4.头插法建立单链表L(逆序输入)CreateList_HL【2.11】5.尾插法建立单链表L(顺序输入)CreateList_TL6.在带头结点的单链表中删除第i个元素,并用e返回其值 ...原创 2019-01-25 22:15:02 · 1307 阅读 · 0 评论 -
顺序表的基本操作——归并
1、【算法2.1】假设:有两个集合 A 和 B 分别用两个线性表 LA 和 LB 表示,即:线性表中的数据元素即为集合中的成员。 现要求一个新的集合A=A∪B。具体操作:扩大线性表 LA,将存在于线性表LB 中而不存在于线性表 LA 中的数据元素插入到线性表 LA 中去。代码实现:合并的代码:Union#include<stdio.h>#include<s...原创 2019-01-25 21:10:00 · 2656 阅读 · 0 评论 -
顺序表的基本操作
学习严蔚敏老师《数据结构(C语言版)》,关于顺序表的基本操作:1.线性表的动态分配顺序存储结构2.初始化 InitList_Sq【2.3】3.插入 ListInsert_Sq【2.4】4.删除 ListDelete_Sq【2.5】5.遍历顺序表 ListTraverse_Sq6.置为空表 ClearList_Sq7.销毁线性表 DestroyList_Sq8.判断是否为空表 Li...原创 2019-01-25 17:42:38 · 665 阅读 · 0 评论 -
线性表及其实现(顺序表和单链表)
首先,要明确线性表是逻辑结构,而顺序表和链表是存储结构顺序存储结构是——随机存取结构链式存储结构是——顺序存取结构随机存取结构是直接存取,可以通过下标直接访问,与存储位置无关。 顺序存取结构是非随机存取,不能通过下标访问,只能按照存储顺序存取,与存储位置有关。 顺序存储结构:用一组地址连续的存储单元依次存储线性表的各个数据(逻辑相邻、物理相邻) 随机存储结构(典型代表为链式存...原创 2019-01-20 20:31:55 · 363 阅读 · 0 评论 -
C语言中的可变数组和单链表
可变数组仔细看这段代码:#include<stdio.h>#include<stdlib.h>const int BLOCK_SIZE =20;typedef struct{ int *array; int size;}Array;Array array_create(int init_size);void array_free(Array *a)...原创 2019-01-23 11:31:45 · 571 阅读 · 0 评论