![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
Lesroad
这个作者很懒,什么都没留下…
展开
-
顺序栈和链栈的实现
顺序栈和链栈的实现这学期开了数据结构,刚开始以为代码应该会很简单,但是真正实现起来才发现有好多细节需要注意, 而且发现指针的姿势忘了好多好多((٩(//̀Д/́/)۶))130h.h 1 #include <bits/stdc++.h> 2 #define MAX 100 3 struct node1 4 { 5 int *base; 6 ...原创 2018-04-04 13:50:00 · 209 阅读 · 0 评论 -
循环队列和链队列的实现
循环队列和链队列的实现指针学的好水啊。。为了加深了对指针的运用 循环队列用了指针 链队列用了引用,还有就是在一个地方卡了好久好久,20多个报错无法编译通过要不要这么狠哇。。。最后发现是case内定义了新的变量惹case里最好不要定义新的变量,否则会出现error:jump to case label,解决办法让case加上花括号或者变量的定义写在switch外边以下是测试代码,,头...原创 2018-04-11 10:42:00 · 177 阅读 · 0 评论 -
二叉树遍历(递归+非递归)
二叉树遍历(递归+非递归)二叉树的递归很简单,但是非递归就有点复杂了。第一种先序遍历、中序遍历、第一种后序遍历都是一直将左子树压入栈,其中先序遍历和中序遍历输出位置不同,后序遍历则需要前驱标记pre来判断右孩子是否访问过;第二种先序遍历和第二种后序遍历是根据层序遍历的思想写的,将队列换成栈,顺序换成先入右孩子再入左孩子,但是后序遍历需要用pre判断左右孩子是否都访问过。测试数据:A...原创 2018-04-26 15:13:00 · 72 阅读 · 0 评论 -
哈夫曼编码
哈夫曼编码压缩软件:给定一篇文章,只含有英文大小写字母和空格,以.txt格式存储,统计该文件中各种字符的频率,对各字符进行Huffman编码,将该文件翻译成Huffman编码文件,再将Huffman编码文件翻译成源文件。创建结构体数组,数组的每个元素存有字符,频率,父节点下边,左右孩子的下标。假设有n个结点,先统计每个字符出现的频率当做权值,找出两个权值最小的下标,权值的和作为新...原创 2018-05-09 23:39:00 · 583 阅读 · 0 评论 -
根据入栈求出栈、根据出栈求入栈
一. 给定一个入栈顺序,输出所有出栈顺序。我的做法是将入栈序列全排列,筛选出满足出栈要求的序列,如何判断是否满足要求呢?用数组out来记录需要判断是否满足要求的序列,数组enter记录入栈序列,用一个栈来模拟元素的入栈和出栈。如果栈顶和out对应位置元素相等就删除栈顶元素,否则将enter中的元素入栈,最后栈不为空就说明不满足要求。#include <bits/st...原创 2019-02-19 16:02:00 · 570 阅读 · 0 评论 -
前序+中序->后序 中序+后序->前序
前序+中序->后序#include <bits/stdc++.h>using namespace std;struct node{ char elem; node* l; node* r;};node* dfs(char* pre,char* in,int len) //前序首地址、中序首地址、整个数组对应的长度{ ...原创 2019-02-25 21:49:00 · 254 阅读 · 0 评论