数据结构
Plut0nium
这个作者很懒,什么都没留下…
展开
-
C++数据结构栈的实现
#include using namespace std; template class Stack { public: Stack(int s=10); ~Stack(); bool StackEmpty(); int StackLength(); T GetTop(T &e); void Push(T e); T Pop(T &e); private: T *base; T原创 2016-02-05 16:22:32 · 482 阅读 · 0 评论 -
数据结构循环队列
在顺序队列中当有元素进队列时,尾指针加1。有时当reart指向数组中最后一个位置时,数组并没有满,元素出队列后,数组前面的位置有空,所以并不需要像栈那样再申请空间。 为充分利用向量空间,克服"假溢出"现象的方法是:将向量空间想象为一个首尾相接的圆环,并称这种向量为循环向量。存储在其中的队列称为循环队列。 当队列满或空时头指针和尾指针都相等,所以一般数组的最后一个位置不添加元素用作区原创 2016-02-13 15:07:43 · 489 阅读 · 0 评论 -
数据结构 魔王语言C++
[问题描述] 有一个魔王总是使用自己的一种非常精练而又抽象的语言讲话,没有人能听得懂,但他的语言是可以逐步解释成人能听懂的语言,因为他的语言是由以下两种形式的规则由人的语言逐步抽象上去的: (1) α -> β1β2…βm (2)(θδ1δ2…δn)->θδnθδn-1… θδ1θ 在这两种形式中,从左到右均表示解释。试写一个魔王语言的解释系统,把他的话解释成人能听得懂的话。原创 2016-02-18 11:35:35 · 846 阅读 · 0 评论 -
数据结构 约瑟夫环问题C++
需求分析 本程序是用VC编写,由于约瑟夫问题是n个人围坐在一圈,所以采用循环链表实现,又由于报数时可能循环到开始,所以采用不带头结点的循环链表结构。 题目要求的约瑟夫环操作:编号是1,2,……,n的n个人按照顺时针方向围坐一圈,每个人只有一个密码(正整数)。一开始任选一个正整数作为报数上限值m,从第一个仍开始顺时针方向自1开始顺序报数,报到m时停止报数。报m的人出列,将他的密码作为新的m值原创 2016-02-18 15:41:51 · 6280 阅读 · 1 评论 -
c++ 数据结构 哈夫曼树
给定n个权值作为n的叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。 代码如下:(代码为老师所给) #include using namespace std; struct HTNode //哈夫曼树节点; { char ch; int weight转载 2016-02-19 13:02:47 · 656 阅读 · 3 评论