摘要:
栈的应用很广泛,原书只讲解了表达式求值,那我也就只写这些。其实,栈的最大的用途是解决回溯问题,这也包含了消解递归;而当你用栈解决回溯问题成了习惯的时候,你就很少想到用递归了,比如迷宫求解。另外,人的习惯也是先入为主的,比如树的遍历,从学的那天开始,就是递归算法,虽然书上也教了用栈实现的方法,但应用的时候,你首先想到的还是递归;当然了,如果语言本身不支持递归(如basic),那栈就是唯一的选择了—......
摘要:
摘要:虚函数里面有一个很特殊的东东,那就是纯虚函数,关于纯虚函数的问题也是bbs上常见的话题,这里我想对此作一个小小的论述,希望能给初学者一个满意的解释。
一、引入原因: 1、为了方便使用多态特性,我们常常需要在基类中定义虚拟函数。 2、在很多情况下,基类本身生成对象是不合情理的。例如,动物作为一个基类可以派生出老虎、孔雀等子类,但动物本身生成对象明显不合常理。 为了解决上述问题,引入了纯虚......
数据结构学习(C++)——队列应用(事件驱动模拟)
我看的两本教科书(«数据结构(c语言版)»还有这本黄皮书)都是以这个讲解队列应用的,而且都是银行营业模拟(太没新意了).细比较,这两本书模拟的银行营业的方式还是不同的.1997版的«数据结构(c语言版)»的银行还是老式的营业模式(毕竟是1997年的事了),现在的很多地方还是这种营业模式——几个窗口同时排队.这种方式其实不太合理,经常会出现先来的还没有后来的先办理业务(常常前面一个人磨磨蹭蹭,别的队越来越短,让你恨不得把前面那人干掉).1999版的这本黄皮书的银行改成了一种挂牌的营业方式,每个来到的顾客发一个号码,如果哪个柜台空闲了,就叫号码最靠前的顾客来办理业务;如果同时几个柜台空闲,就按照一种法则来决定这几个柜台叫号的顺序(最简单的是按柜台号码顺序).这样,就能保证顾客按照先来后到的顺序接受服务——因为大家排在一个队里.这样的营业模式我在北京的西直门工商银行见过,应该说这是比较合理的一种营业模式.不过,在本文中最重要的是,这样的营业模式比较好模拟(一个队列总比n个队列好操作).
#ifndef simulation_h 【程序编程相关:
用Win32 API实现串行通信】
原书的这部分太难看了,我看的晕晕的,我也不知道按照原书的方法能不能做出来,因为我没看懂(旁白:靠,你小子这样还来现眼).我按照实际情况模拟,实现如下: 【推荐阅读:
如何规划您的大型JAVA多并发服务器程序】
【扩展信息:
VC中MSFLEXGRID内嵌EDIT实】
#define simulation_h
#include <iostream.h>
#include <stdlib.h>
#include <time.h>
class teller
{
public:
int totalcustomercount;
int totalservicetime;
int finishservicetime;
teller() :totalcustomercount(0), totalservicetime(0),
finishservicetime(0) {}
};
//#define printprocess
class simulation
{
public:
simulation()
{
cout << endl << "输入模拟参数" << endl;
cout << "柜台数量:"; cin >> tellernum;
cout << "营业时间:"; cin >> simutime;
cout << "两个顾客来到的最小间隔时间:"; cin >> arrivallow;
cout << "两个顾客来到的最大间隔时间:"; cin >> arrivalhigh;
cout << "柜台服务最短时间:"; cin >> servicelow;
cout << "柜台服务最长时间:"; cin >> servicehigh;...
下一页 摘要:
struts 1.1 final终于发布了。新特性包括对多个子应用程序的支持、dynabean和beanutil、声明式异常处理、validator等。熟悉struts的人肯定早已在用struts 1.1,下面这篇文章是给不熟悉的人看的。
——————————————————
introduction
since the release of struts 1.0, struts has ......