
数据结构C语言实现
文章平均质量分 84
Acc222222
这个作者很懒,什么都没留下…
展开
-
数据结构——树的相关操作
1.树的存储结构(1)双亲表示法 一组连续空间存储树的结点,同时在每个结点中,附设一个指示器指示其双亲结点在数组中的位置。结点结构:typedef struct PTNode { int data;//数据域,存储结点的数据信息 int parent;//位置域,存储该结点的双亲在数组中的下标}PTNode; 双亲表示法是使用数组来表示的。树结构:typedef struct { PTNode node[MaxSize];//结点数组 int r, n;//r...原创 2021-08-17 23:08:08 · 515 阅读 · 0 评论 -
数据结构——二叉排序树
二叉排序树的各种操作原创 2021-08-13 12:31:28 · 2952 阅读 · 0 评论 -
数据结构——顺序表查找和有序表查找
1.顺序表查找 又叫线性查找,是最基本的查找技术:从表中第一个(或最后一个)记录开始,逐个与给定值进行比较,若某个记录的关键字和给定值相等,则查找成功。如果顺序表遍历完毕,关键字和给定值都不相等,则查找失败。(1)基本算法...原创 2021-08-12 11:28:39 · 4839 阅读 · 1 评论 -
数据结构——串的模式匹配算法
1.朴素的模式匹配算法 Index(S,T,pos):将主串S的第pos个字符和模式串的第一个字符比较(pos是位置,在算法中要转化为索引),若相等,继续逐个比较后续字符。如不等,从主串的下一个字符起,重新与模式串的第一个字符比较。直到匹配成功或全部遍历完成为止。 这里需要说明一个前提:在一些教科书中,序号默认是从1开始的(序号为0的地方储存串的长度),但是在C/C++语言中,字符串都是从序号为0的地方开始的,因此对代码做出了一些更改。int Index(string s...原创 2021-08-11 13:55:46 · 983 阅读 · 0 评论 -
数据结构——循环队列与链队列
1.循环队列原创 2021-08-08 12:08:07 · 2437 阅读 · 0 评论 -
数据结构——顺序栈和链栈
1.顺序栈未简化的版本(1)顺序栈的表示typedef struct { int* base;//栈底指针 int* top;//栈顶指针 int stacksize;//栈容量}SqStack;(2)顺序栈的初始化int InitStack(SqStack& s) { s.base = new int[MaxSize];//给栈分配空间 if (!s.base) exit(OVERFLOW); s.top = s.base;原创 2021-08-07 16:36:25 · 911 阅读 · 0 评论 -
数据结构——有序链表的合并,链表实现一元多项式相加
1.有序链表的合并void Connect(LinkList a, LinkList b, LinkList& c){ LNode* pa, * pb, * pc; pa = a->next; pb = b->next; c = a; pc = c; while (pa && pb) { if (pa->data <= pb->data) {原创 2021-08-05 13:46:13 · 1940 阅读 · 0 评论 -
数据结构——循环链表与双向链表
循环链表:一种头尾相接的链表(表中最后一个结点的指针域指向头结点,整个链表形成一个环) 注:由于循环链表种没有NULL指针,故涉及遍历操作时,其终止条件就不再像非循环链表那样判断p或p->next是否为空,而是判断他们是否等于头指针。(p!=L)1.创造循环链表void CreateList_R(LinkList& L, int n){ LNode *r, *p;//不能写成 LNode* r,p; L = new LNode; L-...原创 2021-08-04 14:47:31 · 443 阅读 · 0 评论 -
数据结构——单链表代码总结
1.单链表结点的定义原创 2021-08-02 21:35:32 · 2981 阅读 · 1 评论 -
数据结构——线性表代码总结
1.线性表结构定义typedef struct { int a[100];//或定义MaxSize int length;}SqList;其中length记录线性表长度,a是数据域。2.根据位置i获取相应位置数据元素的内容原创 2021-07-29 19:09:01 · 3012 阅读 · 0 评论