
Data Structure
文章平均质量分 78
killers_999
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据结构(六):树和二叉树
树是一种有层次的数据集合,数据之间的关系是非线性。特点是:除了根节点外其他结点都有唯一前驱,所有结点都有零个或者多个后驱。二叉树:每个结点至多有两棵子树。存储方式:顺序存储结构:typedef int datatype;const int MAXSIZE=1000;//指路创建法struct bitTree{ datatype data[MAXSIZE]; //初始化 void init(){ memset(data,-1,sizeof(data原创 2020-08-23 21:14:50 · 146 阅读 · 0 评论 -
数据结构(五):队列
队列是一种操作受限的线性表,它只能在表的一端插入,在另一端删除。特点是先进先出(FIFO)。其存储方式有顺序存储和链式存储。顺序队列:顺序队列会出现假溢出现象。如图。虽然数组前面还有空间,但是由于rear已经指向了数组的最后,队列无法再入队,形成了假溢出。解决的办法是使用循环队列。typedef int datatype;const int MAXSIZE=10;struct sqQueue{ datatype data[MAXSIZE]; int top,rear;原创 2020-08-11 22:09:26 · 252 阅读 · 0 评论 -
栈(实现链栈和顺序栈)
栈是一种操作受限的线性表。它只允许在线性表的一头插入,在另一头删除。特点就是先进先出。按不同的存储结构,可以将栈分为顺序栈和链栈。顺序栈的实现:typedef int datatype;const int MAXNUM=1000;struct sqStack{ datatype data[MAXNUM]; int top; //初始化 void init(){ top=-1; } //判断栈空 bool isEmp原创 2020-08-09 21:18:46 · 281 阅读 · 0 评论 -
带头节点的双向链表
与单链表相比,增加了指向前驱的指针,便于找到当前结点的前驱。图源百度初始化typedef int datatype;struct nodes{ datatype data; struct nodes *last,*next;};struct List{ struct nodes *head;};//创建头节点void init(struct List *List){ nodes *head=(nodes*)malloc(sizeof(nod原创 2020-05-09 15:31:15 · 223 阅读 · 0 评论 -
2021年王道数据结构课后题
使用的顺序表是https://blog.csdn.net/killers_999/article/details/104418578这里。1.从顺序表中删除具有最小值的元素(假设唯一 )并由函数返回被删元素的值。 空出的位置由最后一个元素填补, 若顺序表为空则显示出错信息并退出运行。bool minnum(struct Array *arr,datatype *data){...原创 2020-05-05 22:23:10 · 3980 阅读 · 0 评论 -
模拟动态数组及其一系列操作
初始化typedef int datatype;struct Array{ datatype *fData;//第一个元素的地址 int max_size;//动态数组的最大长度 int length;//动态数组的有效长度};void init(struct Array *arr,int maxsize){ arr->fData = (data...原创 2020-02-20 21:33:32 · 920 阅读 · 0 评论 -
无头结点的单链表一系列操作
无头结点的单链表的一系列操作没有头结点的链表,C++实现其初始化,建立,插入,删除,查询,计算长度,输出。感觉没有头结点好多操作都变得复杂了那么一丢丢。目录 无头结点的单链表的一系列操作初始化建立查找插入删除计算链表长度打印链表初始化typedef int datatype;struct nodes{ datatype data...原创 2018-12-21 17:21:15 · 3815 阅读 · 0 评论