自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (4)
  • 收藏
  • 关注

转载 给定入栈顺序,输出所有可能出栈情况及所有情况的总数

一个长度为n的无重复序列入栈的所有出栈方式例如1、2、3这三个数字,入栈并出栈共有5种方式,分别为:321、312、231、213、123。那么对于长度为n的无重复序列中所有的出栈方式有哪些呢?为了设计计算的算法,我们可以用队列(queue)来模拟输入,队列的输出则按照原先序列的顺序。使用一个栈(stack)来模拟入栈和出栈,结果保存在另外一个队列(queue)中。现在的问题来了,怎么...

2016-04-29 23:09:03 15133 5

原创 关于出栈次序及Catalan函数

在此给出几个详细介绍的网址。1.百度百科中Catalan函数介绍及简单应用:http://baike.baidu.com/link?url=zNxJK_uCQX4Mmmd30j7emA64bmp-HyeJOxIsOnIiajDg_W7bdOn2wAr4aQgqxaXafTUTLbgq7JJnPgsk6yTmxq2.外国网站对Catalan函数介绍及其应用(非常详细):https://en....

2016-04-29 21:54:43 6252

转载 最快排序--桶排序

注:原文地址最快最简单的排序方法 

2016-04-29 21:03:53 389

原创 计蒜课--非递归二叉树的遍历

 #include <iostream>#include <queue>#include <stack>using namespace std;const int Max=1024;struct Node{ char data; Node *parent,*lchild,*rchild; Node(char _dat...

2016-04-29 00:17:29 300

转载 cin,cin.get,getline,gets等输入函数用法

1、cin>>           用法1:最基本,也是最常用的用法,输入一个数字:#include <iostream> using namespace std; main () { int a,b; cin>>a>>b; cout<<a+b<<endl; }输入:2[回车]3[回车]输出:5注意:...

2016-04-28 21:51:26 340

原创 二叉树创建-- .cpp函数文件(无模板)

#include <iostream>#include <stack>#include <queue>#include "binarytree.h"istream& operator>>(istream &is,BinaryTree &BT){ BT.CreateBT(is,BT); return..

2016-04-27 01:04:30 531

原创 二叉树创建---.h头文件 类声明(无模板)

#ifndef BINARYTREE_H_INCLUDED#define BINARYTREE_H_INCLUDED#include <iostream>using namespace std;struct Node{ char data; Node *lchild,*rchild; Node():lchild(NULL),rchild(NULL)...

2016-04-27 01:00:38 2085

原创 输入前序/后序+中序 遍历结果重建二叉树(递归)

给定二叉树的前序遍历和中序遍历结果,或者后序遍历和中序遍历结果(必须得有中序遍历),能唯一确定一棵二叉树,那么如何利用程序重建这棵二叉树呢? 情形一:输入前序遍历,中序遍历,重建二叉树 //输入前序 中序遍历结果,调用重建,返回根结点指针赋给rootvoid BinaryTree::pCreateBinaryTree(){ cout<<"请输入前序...

2016-04-26 20:28:44 608

原创 二叉树非递归遍历--前序中序(常用)后序遍历

前面写的二叉树非递归遍历有多种方法,有的不易理解,下面介绍一种非递归前序 中序 后序遍历,方便理解使用。思路:以前序遍历为例:1.从树的根结点访问,输出并压栈2.左子树不为空,访问左子树根结点3.左子树为空,出栈得到栈顶结点指针,即“根结点”,访问右子树4.循环,当且仅当栈为空且p指针到达最右下方的空树,跳出循环 中序遍历时只要改变下访问顺序即可:进栈前不访问,当出...

2016-04-26 10:51:23 355

原创 C++ STL stack queue 的使用函数

1、stackstack 模板类的定义在<stack>头文件中。stack 模板类需要两个模板参数,一个是元素类型,一个容器类型,但只有元素类型是必要的,在不指定容器类型时,默认的容器类型为deque。定义stack 对象的示例代码如下:stack<int> s1;stack<string> s2;stack 的基本操作有:入栈,如例:s.pus...

2016-04-20 10:29:45 620

原创 二叉树的遍历--(1)模板类

#include <iostream>#include <stack>using namespace std;template <class T>struct Node //结点存储树中结点{ T data; Node<T> *lchild,*rchild; N...

2016-04-20 10:13:29 401

原创 二叉树的创建--(4)Copy、Size、Height、Destroy、Equal、Parent

//Heighttemplate <class T>int BinaryTree<T>::Height(Node<T> *subtree) //计算树的高度{ if(subtree==NULL) return 0; int i=Height(subtree->lchild); ...

2016-04-20 09:58:16 281

原创 二叉树的创建--(3)遍历二叉树(递归与非递归、Level)

递归遍历//递归遍历//preordertemplate <class T>void BinaryTree<T>::PreOrder(Node<T> *subtree) //前序遍历{ if(subtree!=NULL) { cout<<subtree->d...

2016-04-20 09:48:22 239

原创 二叉树的创建--(2)运算符重载<<、>>以及CreateBinaryTree、Traverse、PrintBTree函数

//operator >>template <class T>istream& operator>>(istream &is,BinaryTree<T> &tree) //重载操作,输入并建立一棵二叉树,is是输入流对象{ tree.CreateBin...

2016-04-20 09:46:18 1134

转载 为什么模板类与模板成员函数不能分文件写(.h与.cpp)

定义一个类一般都是在头文件中进行类声明,在cpp文件中实现,但使用模板时应注意目前的C++编译器还无法分离编译,最好将实现代码和声明代码均放在头文件中。如:test.htemplate <class T>class CTest{ public: T& GetValue(); void SetValue(const T&a...

2016-04-20 08:21:05 4218 1

原创 回溯法解决迷宫问题(方法2--栈)

//用栈解决迷宫问题#include <iostream>#include <stack>using namespace std;const int m=5,p=6;int mark[m+2][p+2];int Maze[m+2][p+2];struct offsets{ //位置在直角坐标下的偏移 int...

2016-04-12 02:46:23 776

原创 回溯法解决迷宫问题(方法1---递归)

一、解决思路1.创建迷宫,用0表示无障碍位置,1表示墙壁,比如迷宫m*p表示m行、p列,用二维数组Maze[m][p].但为了边缘处能够方便处理,在迷宫外层加一层几乎都为1的墙壁,除了进口和入口处设置为0,即辅助迷宫为Maze[m+2][p+2].2.当进入迷宫时,如何选择前进的方向,如何判断哪个方向是0或者1呢? 这就要利用一个结构体来表示下一步的位置坐标,(g,h)以及前进方向di...

2016-04-11 20:38:15 2952

原创 括号匹配

#include <iostream>#include <stack>#include <cstring>using namespace std;#define MaxSize 80stack<char> s;void Judge(char ch[]){ int i; char ch2; if(strlen(...

2016-04-10 12:33:28 194

原创 利用STL栈将中缀表达式转换成后缀表达式输出

#include <iostream>#include <stack>#include <string>using namespace std;int isp(char ch){ switch(ch) { case'#':return 0; case'(':return 1; case'...

2016-04-10 12:30:05 627

原创 利用STL计算后缀表达式

#include <iostream>#include <stack>using namespace std;int main(){ stack<double> s; char ch; double result,left,right,operand,value; while(cin>>ch) {...

2016-04-10 12:28:37 500

原创 利用顺序栈计算后缀表达式(逆波兰表达式)

#include <iostream>#include <cstdio>#include <cstring>using namespace std;#define MaxSize 50struct SeqStack{ double data[MaxSize]; int top;};bool InitStack(SeqStack *...

2016-04-10 12:27:29 591

原创 队列的应用——打印二项展开式(a+b)^k的系数(杨辉三角)

#include <iostream>using namespace std;#define Max 100class SeqQueue{public: SeqQueue(); void EnQueue(int x); int DeQueue(); int GetFront(); int GetRear(); bool IsE...

2016-04-09 23:17:25 3725 1

原创 链队列的初始化

#include <iostream>using namespace std;template <class T>struct Node{ T data; Node *next; Node():next(NULL){} Node(T _data):data(_data),next(NULL){}};template <cl...

2016-04-09 16:50:59 753

原创 顺序队列的初始化

#include <iostream>#define Max 100using namespace std;template <class T>class SeqQueue{public: SeqQueue(){MakeEmpty();} void MakeEmpty(); bool EnQueue(T x); bool DeQu...

2016-04-09 16:50:20 2067

原创 链栈的初始化

#include <iostream>#include <assert.h>using namespace std;template <class T>class LinkedStack; //类声明template <class T> ...

2016-04-09 16:48:25 1318

原创 顺序栈的初始化

#include <iostream>using namespace std;#define Max 100template <class T>class SeqStack{public: SeqStack():top(-1){} ~SeqStack(){MakeEmpty();} bool Push(T x); bool IsE...

2016-04-09 16:47:42 1060

原创 顺序栈、链栈、顺序队列、链队列区别

1.顺序栈顺序栈的主要特征是用一个数组实现栈的存储,top指针确定栈顶元素位置定义形式如下: #define Max 100template <class T>class SeqStack{public: SeqStack():top(-1){} void Push(T x); T getTop(); ...

2016-04-09 16:46:11 6246

原创 利用栈实现加减乘除幂功能

如何用栈来实现加减乘除幂的运算呢?应考虑下面几点。1.分别用一个栈x存符号,另一个栈y存数值。2.遇到数字就压栈,遇到符号ch要比较栈顶的符号与当前的符号ch,编写一个判别函数prev,若能进行运算,则返回真,不能返回假.以下是判别函数的几种情况:(1)如果栈顶符号为* ^ / 则不用考虑输入拿来比较的符号,直接返回真。(2)如果栈顶符号和拿来比较的符号ch为+或者-,也返回真....

2016-04-09 14:59:10 3124

原创 带模板参数的运算符重载

非模板函数 运算符重载一般都只要在类中声明为友元函数(此时没有隐含的this指针,函数中参数不能省),在类外定义即可。但是带模板的运算符重载要注意以下几点:1,全局的operator 重载函数要在类之前声明. 不加<> 2,模板函数做友元要显式的声明模板形参,如果<>内空就是把当前类的模板参数传 进来用. 在类中声明时要加<>. 3.函数定义时,不加<>.例:链式栈的模板定义 以下是

2016-04-09 02:01:28 2244 3

Intellij Idea 一键打补丁插件

Intellij Idea 一键打补丁插件, 将本地文件替换到 远程服务器指定目录下

2018-08-08

OPENSTACK开源云王者归来:云计算、虚拟化、NOVA、SWIFT、QUANTUM与HADOOP.pdf

OPENSTACK开源云王者归来:云计算、虚拟化、NOVA、SWIFT、QUANTUM与HADOOP 带书签

2018-08-06

深入理解Java 虚拟机 原代码

深入理解Java 虚拟机 第二版 原代码 , txt 格式,非java 文件

2018-08-05

深入理解Java 虚拟机 第二版 pdf 带书签

深入理解Java 虚拟机 第二版 pdf 带书签,JVM 经典书籍

2018-08-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除