数据结构学习之路
星河亦无恙
努力学习中。。。
展开
-
二叉线索树实现
二叉线索树实现二叉线索树主要是方便查找树的前趋和后继的,充分的把二叉树的空指针域利用起来,要是有前趋就指向前趋,要是有后继就只想后继。代码:#include<iostream>using namespace std;/**通过枚举类型,child = 0, thread = 1,来表示树中的节点指向的是正常的孩子,还是用来指引线索*/typedef enum{ child, thread } PointTag;/**创建线索二叉树的结点*/struct ThBiTreeNod原创 2021-09-30 23:23:26 · 144 阅读 · 0 评论 -
数据结构各种排序算法C++实现
数据结构各种排序算法C++实现包含了直接插入排序,折半插入排序,希尔排序,冒泡排序,快速排序,选择排序,归并排序,这几种排序的算法实现。堆排序和基数排序没写,觉的代码实现起来有点难,明白了思路但是没写。哈哈哈!代码:#include <stdlib.h>#include <iostream>using namespace std;#define MAXSIZE 100 //顺序表大小,即为一共能存储的记录数(数据)typedef struct{ //元素只有一原创 2021-09-30 23:06:08 · 519 阅读 · 0 评论 -
二叉排序树(二叉搜索树)的算法实现
二叉排序树(二叉搜索树)的算法实现二叉排序树有以下五个特征:1.左子树非空,左子树上的所有结点的值都小于其根上的值2.右子树非空,右子树上的所有结点的值都大于其跟上的值3.按照中序遍历的方法可以得到一个有序的序列(从小到大)4.二叉排序树上的任何一棵子树都是这样有序的5.二叉排序树的查询效率是最高的以下是二叉排序树的构造,插入结点,遍历(中序)的代码部分。#include <iostream>#include <string.h>using namespace s原创 2021-09-25 21:17:09 · 976 阅读 · 0 评论 -
二叉树链式存储及二叉树各种遍历的算法实现
二叉树链式存储及二叉树各种遍历的算法实现书是一种一对多的逻辑结构,在使用链式存储的时候,经常使用的是二叉链表(三个域:左孩子指针域,数据域,右孩子指针域),三叉链表(左孩子域,数据域,双亲域,右孩子域),这里使用的是二叉链表完成了几个最基本的二叉树的操作。#include <iostream>using namespace std;typedef struct BiTNode{ char data; struct BiTNode *lchild, *rchild;}BiTNo原创 2021-09-25 14:11:58 · 2050 阅读 · 2 评论 -
数据结构线性表 - 链式队列练习Demo
数据结构线性表 - 链式队列练习Demo链式队列实现的时候比循环队列稍微复杂一些,在定义链式队列的抽象数据类型的时候呢,需要定义三个结构体,第一个结构体用于存放结点的数据元素,相当于data域,第二个结构体是定义链式队列的结点信息的,包括数据域,还有next指针域,第三个结构体是用于定义链式队列特有的队头和队尾指针。所以链式队列的定义相对于其他的数据结构的链式表示来说有一点特殊。根据自己的理解,写的链式队列,经过测试,没啥大问题,可以直接使用。上代码:#include<iostream>原创 2021-08-18 20:02:23 · 279 阅读 · 0 评论 -
数据结构线性表 - 循环顺序队列练习Demo
数据结构线性表 - 循环顺序队列练习Demo循环顺序队列是利用了队列的逻辑结构以及顺序表的存储结构实现的,在抽象数据类型定义中,定义了两个int型的变量分别表示队头和队尾,当元素入队时,队尾指针+1,带元素出队时,队头指针+1,然后利用数组循环的方法,实现了循环队列的算法。直接上代码:#include<iostream>using namespace std;#define MAXSIZE 100typedef struct{ char p;}Elem;typedef st原创 2021-08-18 17:43:33 · 124 阅读 · 0 评论 -
数据结构线性表 - 链栈练习Demo
数据结构线性表 - 链栈练习Demo链栈相对于顺序栈来说更加灵活,不存在栈满的问题,但是实现起来比顺序栈稍微麻烦一点,因为栈主要的操作就是出栈和入栈操作,作为链栈的练习,我也只写了出栈和入栈还有查看链栈数据这几个功能。代码写完测试完感觉没啥问题。直接上代码。#include <iostream>using namespace std;typedef struct{ char p;}Elem;typedef struct SNode{ Elem data; struct SN原创 2021-08-03 20:57:46 · 142 阅读 · 0 评论 -
数据结构线性表 - 顺序栈练习Demo
数据结构线性表 - 顺序栈练习Demo通过对栈这个数据结构的学习加上自己对栈的理解,写了这个以顺序表作为栈的存储形式的顺序栈的练习Demo,已测试,没有什么问题。直接上代码。#include <iostream>using namespace std;#define MAXSIZE 100typedef struct { char p;}Elem;typedef struct Stack{ Elem *elem; int top;}Stack;void InitSt原创 2021-08-03 18:56:11 · 209 阅读 · 0 评论 -
数据结构线性表 - 循环单链表练习Demo
数据结构线性表 - 循环单链表练习Demo因为循环单链表插入、删除、修改、查找等操作和单链表类似,这里就没有写,具体实现方法在我的上一篇帖子中有详细的介绍。上代码(整体):#include <iostream>using namespace std;typedef struct LNode{ char data;//保存每个结点数据 struct LNode *next;//指向下一个节点的指针}LNode, *CuLinkList;int InitCuLinkList原创 2021-07-25 22:20:46 · 141 阅读 · 1 评论 -
数据结构线性表 -单链表练习Demo(稍作修改即为各种管理系统)
数据结构线性表 - 单链表练习Demo(稍作修改即为各种管理系统)话不多说,直接上代码,自己写完测试完,所有功能正常。#include <iostream>using namespace std;typedef struct{ //定义数据域data元素的内容信息 char a;}Elem;typedef struct LNode{ //链表定义 Elem data; //存放阶段数据元素(data)的信息 LNode *next; //存放下一个原创 2021-07-24 18:53:02 · 97 阅读 · 1 评论 -
数据结构线性表 -顺序表练习Demo(稍作修改即为各种管理系统)
数据结构线性表 -顺序表练习Demo(稍作修改即为各种管理系统)话不多说,直接上代码。#include <stdlib.h>#include <iostream>using namespace std;#define MAXSIZE 100 //顺序表大小,即为一共能存储的记录数(数据)typedef struct{ //元素只有一个浮点型数据的结构体数组 float p;} Elem;typedef struct{ //定义一个名称为Sqlist的原创 2021-07-23 22:47:25 · 155 阅读 · 3 评论