摘要: 作者:bakari 时间:2012.8.5 很后悔自己现在才有写博客的决心,身为计算机学院的一员,将来IT行业的一分子。很不甘自己的这种决心来得太晚了。其实很早就开通了自己的博客,sina,CSDN都有,可就一直没这种意识去写东西。内心会不时地发出“这样浪费时间”这种消极的心声,可是我不禁要问自己: 阅读全文
posted @ 2012-08-05 20:59 bakari 阅读(424) 评论(0) 推荐(0) 编辑
摘要: 1.把二元查找树转变成排序的双向链表(树)题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。10/ /6 14/ / / /4 8 12 16转换成双向链表4=6=8=10=12=14=16。首先我们定义的二元查找树 节点的数据结构如下:struct BSTreeNode{int m_nValue; // value of nodeBSTreeNode *m_pLeft; // left child of nodeBSTreeNode *m_pRight; // right child of node};2.设计包含min函数的栈(栈 阅读全文
posted @ 2012-08-05 15:38 bakari 阅读(1046) 评论(0) 推荐(0) 编辑
摘要: 什么叫带外管理?常见的设备管理方式有SNMP、RMON、Web、TELNET以及通过CONSOLE、AUX接口管理,有些高端设备还具备100BASE-TX的带外管理端口。我在网上查到大概SNMP、RMON、Web、TELNET这些管理方式属于带内管理,通过CONSOLE、AUX接口管理和通过某些高端设备具有的100BASE-TX的带外管理端口进行管理的方式属于带外管理。那么所谓带内、带外是不是指跟占用生产网络带宽、接口的管理方式称之为带内管理,与此相反,不占生产网络带宽、接口的管理方式称之为带外管理?带外网管是指通过专门的网管通道实现对网络的管理,将网管数据与业务数据分开,为网管数据建立独立通 阅读全文
posted @ 2012-08-05 13:14 bakari 阅读(33050) 评论(0) 推荐(1) 编辑
摘要: ⑴什么是DCE?DCE:数据通信设备,DTE:数据终端设备.1)只有在同步通信方式的线路上才会有时钟速率,同步通信时需要线路两端进行信号发送频率的同步,也就是同步的时钟,在实际工程中由协议转换器,modem等线路控制设备来提供,而实验环境中没有专门的线路控制设备,所以由其中的一台router的serial接口来提供。DCE一端的确定是由router之间的cable的线序来决定的,所以back to back的cable都标明DCE和DTE。2)只有标明DCE一端的才需要设置clock rate3)同步时钟的频率和带宽没有直接的联系,64000指的是以64000比特率时间间隔添加发送同步位4)可 阅读全文
posted @ 2012-08-05 11:10 bakari 阅读(3923) 评论(0) 推荐(0) 编辑
摘要: 作者:bakari 时间:2012.4.211、操作数类型Imm立即操作数Reg寄存器操作数Mem内存操作数2、操作数寻址方式立即数寻址寄存器数寻址存储器寻址3、数据传送类指令(重点介绍)mov、xchg、push、pop、lea(除标志寄存器指令外,其余均不影响标志位)1.1、通用数据传送指令1)、Mov传送指令两个操作数的尺寸必须是一致的(但movzx和movsx例外)两个操作数不能同时为内存操作数(内存数据不能直接传送)指令规则目的操作数不能为CS、EIP和IP(会覆盖原来其指向的数)立即数不能直接送段寄存器(不允许:mov DS,Data)两个段寄存器之间不能直接传送数据(其余指令与此 阅读全文
posted @ 2012-08-05 11:07 bakari 阅读(1462) 评论(0) 推荐(0) 编辑
摘要: int function(int a,int b)调用时只要用result = function(1,2)这样的方式就可以使用这个函数。但是,当高级语言被编译成计算机可以识别的机器码时,有一个问题就凸现出来:在CPU中,计算机没有办法知道一个函数调用需要多少个、什么样的参数,也没有硬件可以保存这些参数。也就是说,计算机不知道怎么给这个函数传递参数,传递参数的工作必须由函数调用者和函数本身来协调。为此,计算机提供了一种被称为栈的数据结构来支持参数传递。栈是一种先进后出的数据结构,栈有一个存储区、一个栈顶指针。栈顶指针指向堆栈中第一个可用的数据项(被称为栈顶)。用户可以在栈顶上方向栈中加入数据,这 阅读全文
posted @ 2012-08-05 11:00 bakari 阅读(1580) 评论(0) 推荐(0) 编辑
摘要: 谈谈重载(overload)覆盖(override)与隐藏转自http://blog.csdn.net/yanjun_1982/archive/2005/09/02/470405.aspx这三个概念都是与OO中的多态有关系的。如果单是区别重载与覆盖这两个概念是比较容易的,但是隐藏这一概念却使问题变得有点复杂了,下面说说它们的区别吧。重载是指不同的函数使用相同的函数名,但是函数的参数个数或类型不同。调用的时候根据函数的参数来区别不同的函数。覆盖(也叫重写)是指在派生类中重新对基类中的虚函数(注意是虚函数)重新实现。即函数名和参数都一样,只是函数的实现体不一样。隐藏是指派生类中的函数把基类中相同名 阅读全文
posted @ 2012-08-05 10:55 bakari 阅读(351) 评论(0) 推荐(0) 编辑
摘要: 作者:bakari 时间:2012.6.51、指向const对象的指针---const int *cptr;i、在此,cptr是指向int类型的const对象的指针,cptr并非是const,可以指向其他具有const特性的对象。 *cptr的对象不可以改变。 e.g: *cptr = 43;//ERROR!ii、不能将非const对象的地址赋给指向const对象的指针。反之可以,下面在谈。 记住这句话,具有限制的东西永远有最高的权限。iii、不能使用void*保存const对象的地址,而必须使用const void*。 const int x = 34; void *pv = &x; 阅读全文
posted @ 2012-08-05 10:07 bakari 阅读(849) 评论(0) 推荐(0) 编辑
摘要: 说明:这篇文章主要通过查阅网上资料整理而成,并非原创。顺序容器三种容器均支持resieze()操作,重新划定容器大小,且此函数有重载。 vector vector和built-in数组类似,是一个在堆上建立的一维数组,它拥有一段连续的内存空间,并且起始地址不变,因此 它能非常好的支持随即存取,即[]操作符。vector因为存储在堆上,所以支持erase( ), resieze()(重新划分容器容量)等操作; vector不用担心越界当空间不够用的时候,系统会自动按照一定的比例(对capacity( )大小)进行扩充。在vector序列末尾添加(push_back( ))或者删除(pop_bac 阅读全文
posted @ 2012-08-05 09:59 bakari 阅读(2630) 评论(0) 推荐(0) 编辑
摘要: 引用简介 引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。 引用的声明方法:类型标识符 &引用名=目标变量名; 【例1】:int a; int &ra=a; //定义引用ra,它是变量a的引用,即别名 说明: (1)&在此不是求地址运算,而是起标识作用。 (2)类型标识符是 阅读全文
posted @ 2012-08-05 09:53 bakari 阅读(660) 评论(0) 推荐(0) 编辑
摘要: 我们先来看内存中的几大区: 内存到底分几个区?下面有几种网上的理解,我整理一下:一:1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由os回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。 - 程序结束后有系统释放。4、文字常量区 —常量字符串就是放在.. 阅读全文
posted @ 2012-08-05 09:48 bakari 阅读(37649) 评论(1) 推荐(6) 编辑