- 博客(21)
- 资源 (2)
- 收藏
- 关注
原创 队列应用之售票窗口问题_legend
售票口问题:(1)背景:银行窗口问题或者售票口问题:(1.1)顾客只能排一队。即只有一个队列(1.2)有多个窗口,每个窗口给每个顾客的平均服务时间为120s;某个窗口空闲则队头的顾客不需排队。若每个窗口均不闲,则队头顾客需要排队。(1.3)每隔15s就有一个新的顾客排队。(1.4)根据每个顾客的平均服务时间来求得开几个窗口合适。 总服务时间/顾客数量。越小越好
2014-06-15 18:13:18 1428
原创 队列应用之密钥存储
队列应用之密钥存储:(1)密钥的基础知识: 凯撒加密法是一种简单的消息编码方式,它是按照字母表将消息中的每个字母移动常量的k位,但这种方式极易破解,因为字母的移动只有26种可能。 解决:利用一个密钥值列表,将各个字母移动不同的位数。如果消息比密钥值长,可以从头再使用这个密钥值列表;(2)举例:密钥列表为:key[]={2,-3,4};消息为message="love
2014-06-15 16:08:11 1079
原创 双端队列_legend
双端队列:double-end-Queue(deque)(循环队列实现双端队列,具有栈和队列的性质。)(一)双端队列:(1.1)双端队列图解:双端队列(Deque:double ended queue)就是一个两端都是结尾的队列。队列的每一端都可以插入数据项和移除数据项。相对于普通队列,双端队列的入队和出队操作在两端都可进行。(1.2)双端队列解析:双端队列...
2014-06-14 20:02:01 14053 3
原创 队列应用之打印杨辉三角_legend
(1)图解:(2)代码实现:#include using namespace std;/*打印杨辉三角;杨辉三角如: 1 1 1 1 2 11 3 3 1第n行有n个数,两边是1.然后中间的某个数,等于上一行的两个相邻数之和。*/#define MaxSize 30typedef int q
2014-06-14 16:47:40 6160
原创 链式队列基本操作之code_legend
#include using namespace std;typedef int ElemType;class QNode{ public: ElemType data;/*数据域*/ QNode * next; public : /*构造函数初始化各个数据成员*/ QNode(ElemType
2014-06-10 20:57:38 730
原创 循环队列的基本操作之代码实现_legend
#include using namespace std;#define MaxSize 20typedef int qElemType;class SeQueueType{ public: qElemType data[MaxSize]; int front; int rear; public:
2014-06-10 15:18:06 1252
原创 栈之扩展操作
栈的扩展操作:(1)判断是否对称问题:symmetry ['sɪmɪtrɪ](1.1)问题:有一个带表头的单链表L,用于存放整形数据,设计一个算法判断该链表是否是对称的。(1.2)分析:扫描L的所有节点并将节点值进栈,再次扫描L,和栈顶元素比较。(1.3)代码实现: bool isSymmetry(LinkList* linkList){ in
2014-06-09 21:10:14 741
转载 迷宫C实现
#include #include #define MAXSIZE 20 #define ERROR -1 #define OK 1 #define FALSE 0 #define TRUE 1 typedef enum{RIGHT,DOWN,LEFT,UP}Direction;
2014-06-08 20:53:35 784
原创 C++/C程序、函数结束
《一》C++函数结束与异常处理:(1)return: (1.1)功能简介: return语句用于结束当前正在执行的函数,并将控制权返回给调用此函数的函数。 (1.2)使用方法: (1.2.1)不带返回值的return语句只能用于返回类型为void的函数。 (1.2.2)任何返回类型不是void的函数都必须返回一个值,而且这个返回值的类型必须和函数的返回类型相同
2014-06-08 20:50:34 7214
原创 栈的总结_legend
栈stack:(1)栈的基本知识: (1.1)栈的存储结构: (1.2)栈的特点:(2)栈的基本操作: (2.1)顺序栈的基本操作: (2.2)链式栈的基本操作:(3)顺序栈:seqStack(4)链式栈:linkStack(5)共享
2014-06-08 20:27:51 989
原创 O(1)求栈中最小值
扩展栈O(1)求取最小值:(0)问题描述:(1)分析:(2)步骤:(3)代码实现:------------------------(0)问题描述:扩展stack的实现,完成正常的push,pop操作,新增访问最小(或最大)元素的接口Min(),使得push,pop,Min的时间复杂度都是O(1)。(1)方法一:(1.1)分析:在栈的每个元素加一个属性...
2014-06-08 20:09:23 1207
原创 栈的应用之迷宫问题
/************************************************************************//*自定义栈 *//*通过自定义的简单栈以满足迷宫求解 *//*功
2014-06-05 20:23:03 721
转载 中缀转为后缀并求值_legend
中缀表达式->后缀表达式,并求值:(1)中缀表达式->后缀表达式的方法:(1.0)定义一个符号栈:存储+,-,*,/,(,)等符号。(1.1)遇到操作数:直接添加到后缀表达式中;(1.2)栈为空时遇到运算符:直接入栈;(1.3)遇到左括号:将其入栈;(1.4)遇到右括号:执行出栈操作,并将出栈元素加入到后缀中,直到出栈的是左括号,左括号不加入到后缀中。(1.
2014-06-05 14:32:29 676
原创 查找 Kth 小的数
查找第k小数:(1)境界一:全部排序 :O(n*lgn+k)先快速排序O(n*lgn),然后在找出最小的k个数。O(k)(2)境界二:部分排序 。O(kn)根据选择排序,每次可以取得最小的数放在开头。/*输入:数组array,及其长度length,k;输出: 第k小的元素 :*/int selectTheKthSmallest(int
2014-06-03 17:47:17 885
原创 共享栈的基本操作code_legend
/*一个数组有两个栈来共享所以为共享栈。所以有两个top,一个数组。*/#include using namespace std;#define Maxsize 20typedef int elemType;class shareStack{ public: elemType shareArray[Maxsize]; int
2014-06-03 14:02:46 865
原创 链式栈的基本操作code_legend
/*创建一个不带头节点的链式栈*/#include using namespace std;typedef int elemType;/*define the node type*/typedef struct linkNode{elemType element;linkNode* next;}linkNode;class linkSta
2014-06-03 13:59:39 708
原创 顺序栈的基本操作code_legend
#include using namespace std;typedef int elemType;//#definde Maxsize 10class seqStack{public : int maxSize; int top; elemType * array;public : /*init th
2014-06-03 13:54:22 695
原创 栈的应用之括号匹配code_legend
/*(1)问题:假设表达式中有三种括号:圆括号,方括号,大括号。设计一个算法判断表达式中的括号是否匹配。(2)思想:设置一个stack ,扫描表达式exp,遇到(,[,或{,则将其入栈;遇到)时,判断栈顶是否为(,如果是,则出栈,否则不匹配;同理对于[ 以及 { .*/#include using namespace std;#define Maxsiz
2014-06-03 13:47:23 860
原创 栈的应用之进制转换code_legend
/*十进制转化为其他进制。使用栈的逆序。*/#include using namespace std;typedef int type;#define Maxsize 20/*number:要转换的数字;token: 转换的进制。*/void tokenConvert(type number ,int token){ int s
2014-06-03 13:46:19 673
转载 栈的应用之表达式求值code_legend
/*表达式求值*/#include "stdio.h"#include "math.h"#include "stdlib.h"#include "process.h"#define STACKINITSIZE 100#define STACKINCREMENT 10typedef struct{double *base;double *top;int
2014-06-03 13:44:21 769
原创 二维数组动态开辟内存
C中为二级指针动态开辟空间:(1)C中二级指针动态开辟空间:int ** a;a=(int**)malloc(m*sizeof(int*)); for(i=0; i { a[i]=(int*)malloc(n*sizeof(int)); } (2)C++中二级指针动态开辟空间: int **a = n
2014-06-02 12:10:14 2255
java对于Json文件的解析范例
2014-06-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人