![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
菜菜的大鹏
这个作者很懒,什么都没留下…
展开
-
数据结构-动态查找表(B树的基本操作代码实现)
#include <iostream>using namespace std;const int m = 3;//设定B树的阶数//关键字的个数n必须满足:[m/2]-1≤n≤m-1const int MaxKeyNum = m - 1;//最大关键字数量const int MinKeyNum = m / 2 - 1;//最小关键字数量typedef int ElemType;//关键字类型定义typedef struct BTNode { int keynum; /.原创 2022-02-14 09:28:13 · 921 阅读 · 1 评论 -
数据结构-动态查找表(二叉排序树,插入、删除)
#include <iostream>#include <iomanip>using namespace std;typedef int ElemType;typedef struct Node { ElemType data; struct Node* lchild, * rchild;//左右孩子}BiTNode;//二叉树结点typedef struct { BiTNode* root;//根节点 int num;}BiTree;//二叉树.原创 2022-02-14 04:00:45 · 948 阅读 · 0 评论 -
数据结构-静态查找表(分块查找)
#include <iostream>using namespace std;typedef int KeyType;//定义查找表typedef struct { KeyType key;}ElemType;typedef struct { ElemType* data; int length;}SSTable;//定义索引表与表内分块typedef struct { KeyType key; //块内最大键值 int stadr; //块起始地址}inde.原创 2022-02-14 01:11:32 · 644 阅读 · 0 评论 -
数据结构-静态查找表(线性查找,折半查找)
#include <iostream>#include <iomanip>using namespace std;typedef int KeyType;typedef struct { KeyType key;}ElemType;typedef struct { ElemType* data; int length;}SSTable;bool Create(SSTable& ST, int n);int Search_Seq(SSTable.原创 2022-02-13 23:05:41 · 366 阅读 · 0 评论 -
数据结构-拓扑排序代码实现(邻接表)
#include <iostream>#include <iomanip>using namespace std;const int MAX_VERTEX_NUM = 20; typedef char VexType;//结点类型typedef struct ArcNode { int adjvex; //表内结点的点域部分,存储此处的顶点值 struct ArcNode* nextarc; //表示此处顶点指向下一处顶点的弧}ArcNode;type.原创 2022-02-10 18:29:41 · 1187 阅读 · 0 评论 -
数据结构-无向图的邻接表表示法(图的建立,深度优先遍历DFS,广度优先遍历BFS,非递归)
注:( 深度优先与广度优先的结果不唯一,本文只提供一种解答)#include <iostream>#include <iomanip>using namespace std;//队列------------------------------------typedef int QElemType;const int QUEUE_INIT_SIZE = 100;const int QUEUEINCREMENT = 10;typedef struct { QEle原创 2022-02-10 17:17:33 · 1295 阅读 · 0 评论 -
数据结构-有向图的邻接矩阵表示法(图的建立,深度优先遍历DFS,广度优先遍历BFS,非递归)
注:( 深度优先与广度优先的结果不唯一,本文只提供一种解答)#include <iostream>#include <iomanip>using namespace std;//队列------------------------------------typedef int QElemType;const int QUEUE_INIT_SIZE = 100;const int QUEUEINCREMENT = 10;typedef struct { QEle原创 2022-02-09 23:51:02 · 1053 阅读 · 0 评论 -
数据结构-哈夫曼编码的生成
#include <iostream>#include <iomanip>using namespace std;const int N = 20;typedef struct { int weight;//权值 int parent, lchild, rchild;//双亲结点和左右孩子结点}HTNode, * HuffmanTree;typedef char** HuffmanCode;//二维数组存储每个叶结点的哈夫曼编码void Select(Huff.原创 2022-02-09 19:18:07 · 921 阅读 · 0 评论 -
数据结构-哈夫曼树的建立
#include <iostream>#include <iomanip>using namespace std;typedef struct { int weight;//权值 int parent, lchild, rchild;//双亲结点和左右孩子结点}HTNode, * HuffmanTree;void Select(HuffmanTree& HT, int n, int& s1, int& s2);//每次选择出权值最小的两个结.原创 2022-02-09 17:09:16 · 881 阅读 · 0 评论 -
数据结构-树的hai子兄弟链表表示法代码实现
#include <iostream>using namespace std;typedef char ElemType;typedef struct CSNode {//孩子兄弟结点 ElemType data; struct CSNode* firstchild, * nextSibling;}CSNode,*CSTree;//队列定义及基本操作定义const int QUEUE_INIT_SIZE = 100;const int QUEUEINCREMENT = 10.原创 2022-01-18 10:54:55 · 497 阅读 · 0 评论 -
数据结构-树的hai子链表存储结构层次遍历
为什么孩子是违规词汇。。#include <iostream>using namespace std;const int MAXSIZE = 20;typedef char ElemType;typedef struct CTNode {//孩子结点 int child; struct CTNode* next;}*Childptr;typedef struct {//双亲结点 ElemType data; Childptr firstchild;}CTBox;.原创 2022-01-18 01:22:40 · 405 阅读 · 0 评论 -
数据结构-【二叉树的建立、前序中序后序遍历】非递归实现
求二叉树的深度与复制二叉树的非递归实现会在后面更新#include <iostream>using namespace std;typedef char TElemType;typedef struct BiTNode { TElemType data; struct BiTNode* lchild, * rchild;}BiTNode, * BiTree;//二叉树typedef BiTree SElemType;typedef struct StackNode {.原创 2022-01-09 01:38:02 · 239 阅读 · 0 评论 -
数据结构-二叉树的建立非递归实现【栈】
这个真的写了好久,所以单独发一章函数代码bool CreateBiTree(BiTree& T) { char ch; int flag = 0;//flag作为标记用,当flag=0时创建当前结点的左孩子,flag=1时创建当前结点的右孩子 cin >> ch; if (ch == '#') {//如果根结点为空则创建结束 T = NULL; return 1; } BiTree newnode = new BiTNode; //用来存储创建的新结点 Bi原创 2022-01-09 01:31:50 · 910 阅读 · 0 评论 -
数据结构-二叉树的先序中序后序遍历、二叉树深度、二叉树复制(递归实现)
#include <iostream>using namespace std;const int MAXSIZE = 100;typedef char ElemType;typedef struct BiTNode { ElemType data; struct BiTNode* lchild, * rchild;}BiTNode, * BiTree;bool PreCreateBiTree(BiTree& T);//先序建立二叉树bool Preorder(Bi.原创 2022-01-08 13:32:30 · 556 阅读 · 0 评论 -
数据结构-特殊矩阵【对称矩阵、上三角下三角矩阵、三对角矩阵】的压缩存储代码实现
#include <iostream>using namespace std;typedef int ElemType;void SymmetricMatrixStore(int n, ElemType*& s);//存储n行的对称矩阵,将存储结果放入数组s中返回void TraverseSymmetricMatrix(ElemType* s, int n);//将存储在数组s中的n行对称矩阵遍历void UpperTriangularMatrixStore(int n.原创 2022-01-08 12:29:51 · 3645 阅读 · 1 评论 -
数据结构-十字链表稀疏矩阵基本操作代码实现
#include <iostream>#include <iomanip>using namespace std;typedef int ElemType;typedef struct Node{ int i, j;//该结点非零元的行列下标 ElemType e;//该结点非零元的值 struct Node* right, * down;//该十字链表结点的右指针与下指针}OLNode,*OLink;//十字链表结点typedef struct { OLin.原创 2022-01-08 00:53:10 · 1222 阅读 · 0 评论 -
数据结构-三元组顺序表稀疏矩阵基本操作代码实现
稀疏矩阵的三元组表示方式稀疏矩阵的转置#include <iostream>#include <iomanip>using namespace std;const int MAXSIZE = 100;typedef int ElemType;typedef struct { int i, j;//行列 ElemType e;//值}Triple;//三元组typedef struct { Triple data[MAXSIZE]; int mu, .原创 2022-01-07 20:51:57 · 2242 阅读 · 0 评论 -
数据结构-链队列的基本操作代码实现
#include <iostream>using namespace std;typedef int ElemType;typedef struct QNode { ElemType data; struct QNode* next;}QNode,*QueuePtr;typedef struct { QueuePtr front; QueuePtr rear;}LinkQueue;bool InitQueue(LinkQueue& Q);//初始化链队列bo.原创 2022-01-07 18:56:08 · 854 阅读 · 0 评论 -
数据结构-循环队列的基本操作代码实现
(数据结构复习day5)#include <iostream>using namespace std;typedef int ElemType;const int QUEUE_INIT_SIZE = 100;const int QUEUEINCREMENT = 10;typedef struct { ElemType* data; int front; int rear; int queuesize; int incresize;}SqQueue;bool In原创 2022-01-07 17:35:04 · 706 阅读 · 0 评论 -
数据结构-链栈的基本操作代码实现
(数据结构复习day4)#include <iostream>using namespace std;typedef int ElemType;typedef struct StackNode { ElemType data; struct StackNode* next;}StackNode, * LinkStack;bool InitStack(LinkStack& S);//初始化链栈bool Push(LinkStack& S, ElemType原创 2022-01-07 16:44:38 · 856 阅读 · 0 评论 -
数据结构-顺序栈的基本操作代码实现
(数据结构复习day3)#include<iostream>using namespace std;const int MAXSIZE = 100;typedef char ElemType;typedef struct { ElemType* top; ElemType* base; int stacksize;}SqStack;bool InitStack(SqStack& S);//初始化顺序栈bool Push(SqStack& S, Ele原创 2022-01-07 16:12:05 · 404 阅读 · 0 评论 -
数据结构-单链表的基本操作代码实现
(数据结构复习day2)#include <iostream>using namespace std;typedef int ElemType;typedef struct LNode { ElemType data; struct LNode* next;}LNode,*LinkList;bool InitList(LinkList& L);//链表初始化bool EmptyList(LinkList L);//判断链表是否为空bool CreateList原创 2022-01-06 02:07:09 · 777 阅读 · 0 评论 -
数据结构-顺序表的基本操作代码实现
(利用假期时间复习一下数据结构)#include <iostream>using namespace std;typedef int ElemType;const int LIST_INIT_SIZE = 10;const int INCREMENTLIST = 10;typedef struct { ElemType* data; int length; int listsize;}SqList;bool InitList(SqList& S);//顺序表原创 2022-01-05 00:29:35 · 869 阅读 · 0 评论