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 · 155 阅读 · 0 评论 -
数据结构(五):队列
队列是一种操作受限的线性表,它只能在表的一端插入,在另一端删除。特点是先进先出(FIFO)。 其存储方式有顺序存储和链式存储。 顺序队列: 顺序队列会出现假溢出现象。如图。虽然数组前面还有空间,但是由于rear已经指向了数组的最后,队列无法再入队,形成了假溢出。解决的办法是使用循环队列。 typedef int datatype; const int MAXSIZE=10; struct sqQueue{ datatype data[MAXSIZE]; int top,rear;原创 2020-08-11 22:09:26 · 277 阅读 · 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 · 300 阅读 · 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 · 233 阅读 · 0 评论 -
2021年王道数据结构课后题
使用的顺序表是 https://blog.youkuaiyun.com/killers_999/article/details/104418578 这里。 1. 从顺序表中删除具有最小值的元素(假设唯一 )并由函数返回被删元素的值。 空出的位置由最后一个元素填补, 若顺序表为空则显示出错信息并退出运行。 bool minnum(struct Array *arr,datatype *data){ ...原创 2020-05-05 22:23:10 · 4005 阅读 · 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 · 937 阅读 · 0 评论 -
无头结点的单链表一系列操作
无头结点的单链表的一系列操作 没有头结点的链表,C++实现其初始化,建立,插入,删除,查询,计算长度,输出。感觉没有头结点好多操作都变得复杂了那么一丢丢。 目录 无头结点的单链表的一系列操作 初始化 建立 查找 插入 删除 计算链表长度 打印链表 初始化 typedef int datatype; struct nodes{ datatype data...原创 2018-12-21 17:21:15 · 3864 阅读 · 0 评论
分享