数据结构
文章平均质量分 57
yyb0802
程序员小白,初来乍到,求带!
展开
-
Stack 堆栈的实现
这是我作为小白程序员第一次发表自己的博客,清多多关照 本人比较喜欢使用C++来进行程序的撰写,故以后看到的大部分语言均为C++堆栈是一种基本数据类型,其基本特性是先入后出,C++中所提供的STL库对应的是stack使用时需要#include using namespace std;typedef int typename;//定义int为基本数据类型,其中int可以用char原创 2017-10-27 15:23:28 · 465 阅读 · 0 评论 -
优先队列的STL运用与哈夫曼树的实现
priority_queue是优先队列,简称堆,哈夫曼树的实现需要依靠于堆的操作堆是一颗二叉树,看似队列又非队列,其具有一定的排列性,我们将从STL库中的priority_queue来进行讲解需要使用priority_queue时候需要#include using namespace std;创建一个优先队列的操作是priority_queue q,默认是优先级高的最先进行随后原创 2017-10-31 20:12:54 · 1200 阅读 · 0 评论 -
图的操作之一--创建
图的创建,先建立顶点集,随后利用邻接矩阵的方式对其进行初始化,然后选取合适的边进行连接,代码如下#include using namespace std;const int MAXNUM=1000;const int IN=65535;struct mGraph{ int Nv;//点的数量 int Ne;//边的数量 int G[MAXN原创 2017-11-08 16:47:46 · 319 阅读 · 0 评论 -
树的操作--层序遍历(3)
树的定义改为:struct mytree{int layer;mytree*left,*right;ElementType data;};新增一个层数layer,可以说明是第几层的,顺序是按照层数从左向右依次进行读取,直到该节点没有左孩子及右孩子为止,同时可以让层序行遍的函数返回一个int类型,layer返回后就是这棵树的层高了。在其中我们使用STL库里已经定义成功原创 2017-10-30 17:31:04 · 251 阅读 · 0 评论 -
利用堆栈和队列实现计算器
我们为了简化代码量所以使用stack和queue两个stl库中所提供的函数,所有的函数实现全部和前面所提供的一致map是一个函数映射库,普通的数组可以看成是int型到int,char等其他类型的映射,而我们可以用map实现char到int的映射,从而实现优先级的定义思路如下:需要先将中缀表达式转化为后缀表达式,随后将后缀表达式利用堆栈特性进行计算定义一个符号堆栈和后缀表达式的计算队原创 2017-10-30 16:53:44 · 2831 阅读 · 1 评论 -
树的操作(2)
本节比较短,主要贴出树的递归遍历,用前序中序后序三种方式void preorder(mytree *root)//前序,根左右 {if(root==NULL) return; coutdatapreorder(root->left);preorder(root->right);}void inorder(mytree *root)//中序 {原创 2017-10-30 10:05:14 · 231 阅读 · 0 评论 -
散列的实现(1)
我们知道查找一个元素通常是遍历一个数组或者线性表,而散列是一种以空间换时间的查找结构通常定义一个特别长的数组,array[10000],随后当存在一个数字的时候将array中的对应元素+1,可以代表其存在,输入对应元素的时候同时可以输出它的出现次数,则代码如下#include using namespace std;typedef int ElementType;const i原创 2017-10-28 21:42:26 · 276 阅读 · 0 评论 -
Tree树及其相关代码的实现(1)
树是一种基本的数据结构,可以使用线性表进行存储,但往往因为过于复杂而不得不定义两个指针。其次树最常用的是二叉树,树的主要作用是查找。AVL树,最优二叉树,搜索二叉树等都是常用的搜索类型,因树的数据结构过于繁杂,故今天先用以下三个功能来进行说明分别是创建新节点,查找功能(外加改变相对应的值)和插入功能#include using namespace std;typedef int T原创 2017-10-28 21:35:18 · 1682 阅读 · 0 评论 -
queue队列的实现
因本人想规避C中较多繁杂的内容,如scanf,printf,malloc,free函数,所以比较喜欢使用C++,C++提供了很多高效的STL库,如map,queue等,今天所讲的数据结构--队列正是STL中的实现,STL中的库函数不满足于我的编程开发,故在其中增加了几个简单的函数。首先malloc函数需要引用stdlib.h,其次需要预先知道内容的大小,需要使用sizeof,而且malloc有原创 2017-10-27 20:49:21 · 379 阅读 · 0 评论 -
查并集的实现
查并集的实现有查找,合并和集合,最主要的是findFather函数的调用#include using namespace std;class array{private:const int maxn=100;int n;int father[maxn];public:array(int num){n=num;for(int i=0;i{f原创 2017-10-31 20:32:08 · 982 阅读 · 0 评论