- 博客(15)
- 收藏
- 关注
原创 C++实现哈夫曼树编码解码
代码:#pragma once#include<iostream>#include<stack>using namespace std;#define m 20stack<int> s;/*哈夫曼树结点类HuffmanNode声明*/template<class T>class HuffmanNode {private: Hu...
2019-05-07 10:39:14
1253
1
原创 C++实现树
由于树和二叉树可以相互转换,所以树可采用和二叉树相同的方式构造(left变为firstChild,right变为nextBrother),只是遍历方式(中的层次遍历)不同。树的层次遍历思想:利用一个辅助队列,初始只有一个根结点。当一个结点出队时,其大孩子结点入队,大孩子结点的所有兄弟结点也依次入队。代码:template<class T>void Tree<T>...
2019-05-06 19:45:04
800
原创 树、森林、二叉树的转换
1. 树=>二叉树定义树中结点的第一个孩子结点为大孩子结点,右边紧邻的第一个兄弟节点为大兄弟结点。(从左到右排序,左大右小)与树对应的二叉树的左孩子结点是它原树中的大孩子结点,右孩子结点是它在原树中的大兄弟结点。2. 森林=>二叉树把森林看成一棵树,森林中所有树的根结点看作彼此的兄弟结点。然后按照树转化为二叉树的方法进行转换即可。3. 二叉树=>树如果二叉树根结点的...
2019-05-06 19:42:34
425
原创 C++二叉树实现
二叉树节点类:/*二叉树结点类BinTreeNode声明*/template<class T>class BinTreeNode {private: BinTreeNode * left, * right;//指向左右结点的指针 T data;//数据域public: BinTreeNode(const T& item, BinTreeNode * left =...
2019-05-06 17:53:29
4416
原创 模式匹配
朴素的模式匹配算法:#include<iostream>#include<string>using namespace std;#pragma warning(disable : 4996)int stringMathching(string S, string P);int main() { string S = "abcfsxyzabh"; strin...
2019-05-04 18:48:59
105
原创 数组实现队列
代码:#include<iostream>using namespace std;template<class T>class Queue {private: int front;//队首元素所在数组元素下标 int rear;//新元素要插入的位置 int count;//当前队列中的元素个数 T * Qarray;//存放队列的数组 int max...
2019-05-04 15:53:21
129
原创 链表实现堆栈+堆栈应用:括号匹配
当时数据结构就没有学好…不管怎么说加油吧代码:#include<iostream>using namespace std;/*链表实现堆栈+堆栈应用:括号匹配*/template<class T>class SNode {private: T data; SNode * next;public: SNode(T data) { this->...
2019-05-04 15:14:36
210
原创 CCF CSP刷题—元素选择器
代码:#include<iostream>#include<string>using namespace std;struct tag { char * name; char * id; int line; int level; tag * father;}; int main() { int n = 0; int m = 0; cin &g...
2019-04-30 13:52:51
428
原创 CCF CSP刷题—买菜
代码:#include<iostream>using namespace std;int main() { int n = 0; cin >> n; int start=0; int end=0; int * cross = new int[1000000]; int total = 0; for (int i = 0; i < n; i++) ...
2019-04-29 17:43:40
834
原创 CCF CSP刷题—小明上学
和《小明放学》不同的是小明实现并不知道红绿灯情况。代码:#include<iostream>using namespace std;int main() { long long r = 0; long long y = 0; long long g = 0; cin >> r >> y >> g; long long total ...
2019-04-29 15:58:43
324
1
原创 CCF CSP刷题—二十四点
【题目描述】定义每个游戏由4个从1-9的数字和三个四则运算符组成,保证数字运算符将数字两两隔开,不存在括号和其他字符,运算顺序按照四则运算顺序进行。其中加法用符号‘+’表示,减法用符号‘-’表示,乘法用小写字母’x’表示,除法用符号’/‘表示,在游戏里除法为整除,例如2/3=0,3/2=1,4/2=2。【输入格式】从标准输入读入数据。第一行输入一个整数n,从第二行开始到第n+1行包含一个长...
2019-04-29 15:50:30
1942
原创 CCF CSP刷题—小中大
输入:有序的n个整数(可能会有重复)输出:从大到小依次输出最大值、中值、最小值#include<iostream>#include<iomanip>using namespace std;int main() { int n = 0; cin >> n; float * nums = new float[n]; for (int i = 0;...
2019-04-29 15:49:03
2597
原创 CCF CSP刷题—小明放学
【题目描述】依次放学的时候,小明已经规划好了自己的回家路线,并且能够预测经过各个路段的时间。同时,小明通过学校里安装的“智慧光明”终端,看到了出发时刻路上经过的所有红绿灯的指示状态。请帮忙计算小明此次回家所需要的时间。【输入格式】输入的第一行包含空格分隔的三个正整数r,y,g,表示红绿灯的设置.输入的第二行包含一个正整数n,表示小明总共经过的道路段数和路过的红绿灯数目。接下来的n行,每行...
2019-04-29 15:36:07
795
原创 CCF CSP—跳一跳
【问题描述】游戏规则:玩家每次从当前方块跳到下一个方块,如果没有调到下一个方块上则游戏结束。如果跳到了方块上,但没有调到方块中心则获得1分;跳到方块中心时,若上一次得分为1分或这是本局的第一次跳跃则此次得分为2分,否则此次的得分比上一次得分多两分(即连续跳到方块的中心时,总得分将+2,+4,+6…)【输入格式】输入包含多个数字,用空格分隔,每个数字都是1,2,0之一,1表示此次跳跃跳到了方...
2019-04-29 12:32:56
262
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人