自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(74)
  • 资源 (3)
  • 收藏
  • 关注

原创 银行家算法的实现,有关进程资源分配的算法

的#include 的#include 的#include 使用命名空间std;typedef结构{ //进程号 INT numberOfThread; //该进程对每个资源的需求量 INT countOf_A,countOf_B; INT countOf_C; //该进程是否完成 布尔isFinish;Infor公司};//在银行家算法中,总共需要4个向量//

2016-06-27 16:42:38 4624

原创 快速排序算法中的partition函数的应用

#include#includeusing namespace std;//根据已经给出位置的基准数来对数组进行排序void partition_pos(int arr[], int left, int right, int pos);//给出相应的值来确定位置,并根据它来进行排序void partition_value(int arr[], int left, int right,

2016-05-30 16:28:59 693

原创 排序算法中的快速排列中的partition函数

#include#includeusing namespace std;/* 算法思想:根据一个基准数,每一次执行过后都会所有的比基准数大的都会在他的右边 比他小的都会在基准数的左边*/int partition(int arr[], int left, int right);void QuitSort(int arr[], int left, int right);int

2016-05-30 15:57:21 598

原创 页面置换算法 FIFO,OPT,LRU

////LRU页面置换算法,将帧内最近不常使用的置换出#include#include#include#includeusing namespace std;int returnMaxValueInVec(vectorstr){ int postion = 0; int length = str.size(); if (str.size() == 0) { return

2016-05-25 14:53:45 2704

原创 LL(1)文法分析,自上向下

//考虑LL(1)递归方式解决#include#includeusing namespace std;//声明变量,用来只是字符串内的指针int indexString = 0;//判断表达式中括号对是否匹配bool flag = true;//输入表达式的字符串string str;/*///////////////////////////////////////

2016-05-18 18:23:39 576

原创 LR分析器,自下向上分析法

#include#include#include#include#includeusing namespace std;void goto_Function(string state, string symbol);void movies(string state, string symbol);//在主函数开始时,进行初始化stackState;stackSymbol;

2016-05-17 23:26:50 446

原创 regex_replace()函数的应用与解析

#include#include#includeusing namespace std;int main(int argc, char argv[]){ string str = "this is a subsquence in the string"; regex reg("(sub)([\\w]+)"); //该正则表达式匹配sub开头的子字符串 //regex_replac

2016-03-11 12:09:43 4274 1

原创 关于regex_iterator()和regex_token_iterator()的区别,与他们不同参数时的不同的作用

#include#include#includeusing namespace std;int main(int argc, char argv[]){ //该程序的目的是从输入的字符串中提取所有的单词 //regex r("([\\w]+)"); //或者可以写成regx r("[[:w:]]+"); /*while (true) { string str; cout

2016-03-10 20:40:23 2151

原创 关于regex_iterator()和regex_token_iterator()的区别,与他们不同参数时的不同的作用

#include#include#includeusing namespace std;int main(int argc, char argv[]){ //该程序的目的是从输入的字符串中提取所有的单词 //regex r("([\\w]+)"); //或者可以写成regx r("[[:w:]]+"); /*while (true) { string str; cout

2016-03-10 20:40:15 2554 1

原创 regex_iterator()的使用sregex_iterator(),cregex_iterator()

//sregex_iterator()#include#include#includeusing namespace std;int main(int argc, char ragv[]){ regex r("[\\w]+"); while (true) { string str; cout << "输入字符:"; getline(cin, str); if (s

2016-03-08 21:12:07 3989

原创 regex_search()和getline(cin,str)函数,以及对其中正则表达式的解释

#include#include#includeusing namespace std;int main(int argc, char argv[]){ //进行注释语句的匹配 regex r("//\\s*(.+)"); //注释正则表达式: //1://为注释语句中的“//” //2:\\s为空格,换行符,制表符等 //3:\\s*为有0个或者多个空格,换行符,制表符等

2016-03-08 11:52:40 930

原创 利用正则表达式,来判断年/月/日的格式是否正确,含对于(含捕捉组)正则表达式的解析

#include#include#includeusing namespace std;int main(int argc, char argv[]){ regex r("^(\\d{4})/(0?[1-9]|1[0-9])/(0?[1-9]|[1-2][0-9]|3[0-1])$"); //对正则表达式进行解析 //1:r("^表示正则表达式的开始 //2:(\\d{4})表示

2016-03-04 11:44:16 1992

原创 详解正则表达式

#include#include#includeusing namespace std;int main(int argc, char argv){ //定义要匹配的模式字符串 regex r("^\\d{4}/(?:0?[1-9]|1[0-2])/(?:0?[1-9]|[1-2][0-9]|3[0-1])$"); string temp; while (true){ //定

2016-03-03 22:35:58 278

原创 正则表达式

#include#include#includeusing namespace std;int main(int argc,char argv[]){ string link[] = { "Roses sre #ff0000", "violets are #0000ff", "all of my base are belong to you" }; regex color_reg

2016-03-03 20:35:15 354

原创 带权有向图

//头文件Edge.h Graph.h//Edge.h//该函数的目的是记录带权有向图#ifndef EDGE_H#define EDGE_Htemplateclass Edge{public: //该图主要包括(起点,终点,权重) int start; int end; T weight; Edge(); Edge(int st, int en, T wei); b

2015-12-16 23:24:53 3080

原创 快速排序

//对快速排序算法的理解,主要是分步进行排序,每次理论上只能对一个数字进行准确排位//所以n个数,需要n次排序,算法复杂度为O(nlogn),通过谷歌,和快拍可相媲美的排序算法//是最小堆的优先队列(有关于最小堆的问题,在关于最小堆的那片博客中,我有代码说明),感兴趣的朋//友,可以去看一下,希望能够剔除一些建议,谢谢#includeusing namespace std;void sort(

2015-12-15 23:33:48 318

原创 ZOJ 2481的另一种解题思路

//想法是:给每一个数字开辟一个状态位(若该数已存在,则将该数的状态标记为true,否则为false)//在输入每一个数字是只需要判断if(flag[num]==false)即可得出是否要插入该数的结论//在插入每一个数字之后,都要将其状态改变#include#include#include#includeusing namespace std;bool flag[10000];

2015-12-15 12:08:58 450

原创 ZOJ 2358 2481

//第二题只是过了,但是有可能会超时(算法不好)#include#include#include#includeusing namespace std;int num[1024] = { 1, 1, 2, 6, 24, 120, 720, 5040, 40320, 362880, 2, 3, 7, 25, 121, 721, 5041, 40321, 362881, 3, 7, 25,

2015-12-15 00:14:14 563

原创 图的定义,存储结构是邻接矩阵(无向图,包含带权图)

//头文件//Edge.h#ifndef EDGE_H#define EDGE_H#includeusing namespace std;templateclass Edge{public: //边的起始与终点 int start, end; //权重 T weight; Edge(); Edge(int st, int en, T wei); bool operat

2015-12-14 18:47:54 5608

原创 ZOJ 2201 2186 2176

#include#includeusing namespace std;int main(int argc, char argv[]){ ifstream cin("F://ac.txt"); int count; int hour = 0; while (true) { cin >> count; if (count == -1) { break; }

2015-12-13 22:28:22 331

原创 ZOJ 2104 ZOJ 1110

不清楚为什么我的编译器上strcpy_s()可以运行通过,到了ZOJ上就不行了   就会出现编译错误//ZOJ 2104#include#include#include#include#includeusing namespace std;struct str{ //该结构体中的两个变量分别记录:字符变量(在输入系统中出现的),每个字符出现的次数 char s[100

2015-12-12 23:35:29 317

原创 医院管理系统(实现功能:浏览医院的整体结构,给定任意节点输出该节点信息就子节点信息,计算在给出点之间的“病房的数量”)

//头文件(包括HosPital.h,TreeNode.h,Tree.h)//HosPital.h#ifndef HOSPARTNODE_H#define HOSPARTNODE_H#include#includeusing namespace std;class HosPartNode{private: int num; string name;public: HosPa

2015-12-10 23:29:18 1120

原创 优先队列,由于优先队列的树形结构是完全二叉树,所以可以使用数组的形式去存储,我的上一个博客是用二叉树的形式去存储优先队列的

//处理优先队列的头文件#ifndef MAXHEAP_H#define MAXHEAP_Htemplateclass MaxHeap{private: T* heapArray; int CurrSize;//当前堆中的元素的个数,从1开始 int MaxSize;//对所能容纳的元素数目public: //因为是完全二叉树,所以用数组来存储 MaxHeap(); ~Max

2015-12-02 14:28:45 651

原创 优先队列的初始化,删除,插入操作

//头文件//BinaryTreeNode.h#ifndef BINARYTREENODE_H#define BINARYTREENODE_Htemplateclass BinaryTreeNode{public: T data; int position; BinaryTreeNode* leftChild; BinaryTreeNode* rightChild; Bina

2015-11-27 23:21:50 777

原创 二叉搜索树的插入,删除,查找操作

//头文件//BinaryTreeNode.h#ifndef BINARYTREENODE_H#define BINARYTREENODE_Htemplateclass BinaryTreeNode{public: T data; BinaryTreeNode* leftChild; BinaryTreeNode* rigthChild; BinaryTreeNode* par

2015-11-21 19:35:15 363

原创 给出二叉树,将二叉树进行中序线索化,在根据中序线索化二叉树,找出给定节点的前序后继节点,和给出节点的后序后继节点

该程序,最部分功能进行了详细的说明,在给别程序块中给出了详细的算法和注释#ifndef BINARYTREENODE_H#define BINARYTREENODE_Htemplateclass BinaryTreeNode{public: T data; int leftTag; int rightTag; BinaryTreeNode* leftChild; Binary

2015-11-20 13:00:08 3621 6

原创 二叉树中包括高度,深度,节点数,宽度,最大值等的递归和非递归方法

//头文件//BinaryTreeNode.h#ifndef BINARYTREENODE_H#define BINARYTREENODE_Htemplateclass BinaryTreeNode{public: BinaryTreeNode* leftChild; BinaryTreeNode* rightChild; T data; BinaryTreeNode(){

2015-11-19 16:46:16 515

原创 二叉树三种遍历方式,有先序,中序或者后序,中序恢复二叉树等操作

//头文件//BinaryTreeNode.h#ifndef BINARYTREENODE_H#define BINARYTREENODE_Htemplateclass BinaryTreeNode{public: T data; BinaryTreeNode* leftChild; BinaryTreeNode* rightChild; BinaryTreeNode(){

2015-11-19 16:41:02 512

原创 关于二叉树宽度的算法包括递归和非递归

//方法1:关于递归算法的实现,递归算法的实现包含两个函数,在这个函数中需要借助数组来实现//实现的具体方式,是在循环遍历的过程中,将每一层中的节点数都存储到相应的数组空间中//在对二叉树进行遍历结束后,在对数组进行处理,便可以获得,相应的二叉树的宽度//子啊该方法的实现机制中,利用了辅助函数//方法2:关于非递归的算法,就是利用队列的原理,这一原理在求树的深度那一篇博文,便已经涉及到了//他的原

2015-11-16 23:09:39 4743

原创 给出先序序列,中序序列恢复二叉树

//给出先序序列,中序序列恢复出二叉树的方法//方法1:利用递归的方法,首先先找出根节点,然后有先序和后序的特点可知:先序序列中在根节点左边的是左子树,根节点右面的是右子树//有此来,进行递归,便可以恢复出二叉树//方法2:方法2中栈的利用只是来存取,节点和先序中每个数据在后序的位置,利用pos 来记录每个位置的值//该非递归的主要思想就是在后序序列中左节点的位置在右节点之前,也就

2015-11-15 21:14:24 787

原创 计算树的深度,存储结构是二叉链表

//在二叉树中如何获得树的深度//方法1:递归算法--先计算出左右子树的深度,之后比较两者之间的大小关系,取大的那个数值,然后将此数值加一后返回//该返回值,即树的深度//方法2:利用队列,每遍历树的一层,就将树的深度deepth+1//该方法要注意的地方:1,设置变量获取每一层中的节点数,然后根据该节点数做循环,每循环一次都要将该节点//从队列里删除,并将该节点的左右孩子入队//2,特殊点是每一

2015-11-14 17:32:05 1419

原创 kmp字符串匹配算法

//头文件#ifndef KMP_H#define KMP_H#include#includeusing namespace std;class kmp{private: string value, pString; int *pStr;//特征向量public: void setValue(); string getValue(); void

2015-11-09 16:36:36 300

原创 zoj 1170

该题的主要思路是,在两个字符串中固定其中一个字符串,移动另外一个字符串进行比较,得到其中相同字符数的最大值然后在固定两外一个,重复上述步骤#include#include#include#include#includeusing namespace std;string Str, Ptr;int Match(int i, int length, int j, i

2015-11-07 12:04:06 579

原创 关于栈的应用,完全基于类的实现

//头文件,4个头文件一个是节点的头文件,一个是栈的实现的头文件,一个是模拟的头文件#ifndef LINKNODE_H#define LINKNODE_H#includeusing namespace std;templateclass LinkNode{public: T data; LinkNode* link; LinkNode(){ }

2015-11-07 10:41:23 217

原创 动态规划中的导弹拦截问题

某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。输入导弹依次飞来的高度(雷达给出的高度数据是不大于30000的正整数),计算这套系统最多能拦截多少导弹,如果要拦截所

2015-11-05 16:10:41 938

原创 字符串的操作

//头文件#ifndef MYSTRING_H#define MYSTRING_H#include#includeusing namespace std;const int stringLnegth = 100;class StringIndexOutOfBounds{};class String{private: char* buffer;//

2015-11-01 17:32:16 222

原创 ZOJ 1243

#include#include#include#include#includeusing namespace std;int main(int argc, char ragv[]){ ifstream cin("F:\\test.txt"); int count = 0; int Pos = 0; int number = 1; int i = 0

2015-10-28 21:10:52 257

原创 zoj 1242

#include#include#includeusing namespace std;int main(int argc, char argv[]){ ifstream cin("F:\\test.txt"); int w, d; int count = 1; double year; unsigned long result; while (ci

2015-10-28 21:09:57 274

原创 ZOJ 1099这道题如果从文件中读取数据,最关键的地方是处理好空格,按时我一直没有成功,所以这道题中没有使用文件

#include#include#includeusing namespace std;int main(){ string str; int length = 0; while (cin >> str) { if (str == "") { cout << endl; length = 0; } else if (s

2015-10-28 14:36:33 427

原创 银行就好系统,该程序存在问题,在顾客进入窗口开始服务的时候,一号窗口会出现在后面开始服务,如果有解决方案,请告诉我谢谢!

//该头文件中存放了所有的变量#ifndef VARIABLE_H#define VARIABLE_H//定义窗口数量const int Nor_Max = 3;const int VIP_Max = 1;const int Offic_Max = 1;const int ServedTime = 4;const int SpaceTime = 2;

2015-10-27 21:03:03 741

文本编辑器(数据结构)

数据结构的内容有关于字符串的处理,和将字符串写入与读出文件,设置光标等操作

2015-11-02

银行叫号系统,包括debug

该程序有bug存在,会出现窗口1滞后现象

2015-10-28

Common Lisp

这是一本关于Lisp语言的书籍,大家如果了解过Lisp或者学过一些基础,可以尝试阅读以下,这本书籍。也许会给你不一样的想法

2015-09-30

空空如也

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

TA关注的人

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