自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

chenzhen1213的专栏

知识沉淀存储

  • 博客(32)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 抽象数据类型线性表的定义—静态单链表

/*线性表的静态单链表存储结构(借用一维数组来描述线性链表)*/#define MAXSIZE 1000typedef struct{ ElemType data; int cur;}component,SLinkList[MAXSIZE];/*静态单链表中查找返回第一个值为e的元素位序*/intLocateElem_SL(SLinkList S, ElemType e){

2015-03-23 10:11:28 1052

原创 数据结构之树的相关名字解释

树树:有n个结点的有限集树结点的度:结点拥有的子树的数目叶子/终端节点:度为0的结点非终端结点/分支结点:度不为0的结点树的度:树内各结点度的最大值树结点层次:从根开始定义,根为第一层,根的孩子为第二层树的深度/高度:树中结点的最大层次有序树:树中结点的各子树看成从左至右是有次序的,即不能交换无序树:树中结点的格子数看成从左至右是无次序的,即可以交换森林:是

2015-03-19 16:16:01 631

原创 华科软件工程机试题4

12、求数列s(n)=s(n-1)+s(n-2)的第n项的值。其中s(1)=s(2)=1。要求任意给定n,输出s(n)。(7分)  #include int function_s(int n); void main() {   int number;   printf("Please enter the number:\n");     scanf("%d",&number);

2015-03-19 11:53:55 851

原创 华科软件工程机试题3

9、假设以下关于堆栈的库函数已经给出,unsigned char is empty();检查堆栈是否为空,如果是,返回1;否则返回0. void push (char element);把一个char型的数据element 推入栈顶。 Char pop (); 弹出栈顶的char型数据。 (1) 利用这些库函数设计一个C语言的函数unsigned char isBalanced (char

2015-03-19 11:53:20 812

原创 华科软件工程机试题2

5、在一个整形数组a中既有负数又有正数,编写一个算法将a中所有负数移到整数之前,要求其时间复杂度为O(n),n为数组长度,并且只使用常数个辅助空间。 例如:a[]={1,2,3,4-1,1,-2,-1,-4}执行算法后的输出为a[]={-4,-1,-2,-1,1,4,3,2,1}  6、编写一个C函数,输入一个二叉树的根节点,返回这棵树中所有值大于0的节点值之和,如果根伟空,返回0

2015-03-19 11:52:19 864

转载 华科软件工程机试题

1、将ss所指字符串中所有下标为奇数位置的字母转换为大写(若该位置上不是字母,则不转换)。举例:若输入abc4Efg,则应输出aBc4EFg  (c++) #include #include using namespace std; int main() {    char ss[10]={'0'};       int i;        for(i=0;i 

2015-03-19 11:47:59 930

原创 数据结构之图的相关名字解释

图图:一种数据结构,是顶点和边的集合  G=(V,{E})定点:图中的数据元素完全图:有n(n-1)/2条边的无向图,称之为完全图。即任意两个顶点间,都有边有向完全图:有n(n-1)条弧的有向图,称之为有向完全图,即任意两个顶点间,都有弧稀疏图:有很少条边或弧(少于nlogn)的图稠密图:有很多条边或弧的图子图:有两个图G(V,{E}),G‘(V',{E'}),如果V'

2015-03-19 10:04:26 437

原创 抽象数据类型线性表的定义—链表操作

/*单链表存储结构*/typedef struct LNode{ ElemType data; struct LNode *next;}LNode, *LinkList/*将第i个元素赋给e p指向第一个结点,j为计数器*/Status GetElem_L(LinkList L, int i, ElemType &e){ p = L->next; j = 1; whil

2015-03-18 16:53:30 1717 4

原创 windows窗口系统的核心:消息管理

消息处理机制,消息分发处理postmessage与sendmessage的区别

2015-03-17 16:34:12 497

原创 抽象数据类型线性表的定义—评论为顺序表

ADT List{ InitList (&L);//构造一个空线性表L DestroyList(&L);//销毁已存在的空线性表L ClearList(&L);//将L重置为空表 ListEmpty(L);//判断若存在的表L为空表,返回TRUE,否则返回FALSE Listlength(L);//返回已存在线性表L中的数据元素个数 GetElem(L,i,&e);//用e返回L中第

2015-03-17 14:59:59 1798 9

原创 抽象数据类型Triplet的表示和实现

typedef ElemType *TripletStatus InitTriplet(Triplet &T, ElemType v1, ElemType v3){ T = (Elemtype*)malloc(3*sizeof(Elemtype)); if(!T) exit(OVERFLOW); T[0] = v1; T[1] = v2; T[2] = v3; return OK;

2015-03-17 11:31:11 1489 1

原创 数据结构之前期定义3

(1)预定义常量和类型#define  TRUE   1#define  FALSE  0#define  OK  1#define  ERROR  0#define  INFEASIBLE   -1#define  OVERFLOW   -2typedef  int  Status;//Status是函数的类型,其值是函数结果状态代码(2)数据结构的表示(存储结构

2015-03-17 10:51:02 440 1

原创 虚函数表

C++中虚函数通过一张虚函数表来实现,在这个表中,主要是一个类的虚函数的地址表,这张表解决了继承、覆盖的问题,保证其内容真实反映实际的函数,这样,在有虚函数的类的实例中,这张表被分配在了这个实例的内存中,所以当我们用父类的指针来操作一个子类的时候,这张虚函数表就显得很重要,它就像地图,指明了实际所所应该调用的函数。编译器必须保证虚函数表的指针存在于对象实例中最前面的位置,意味着我们通过对象实例

2015-03-16 11:15:39 389 3

原创 COM技术

COM定义了客户与构建之间的互操作的标准,包括规约与实现两部分规约部分定义了构件之间的通信机制,这些规约不依赖于任何特定的语言和操作系统实现部分就是COM库,为COM规约的具体实现提供了一些核心服务COM是一种以组建为发布单元的对象模型,这种模型使得各个软件组件可以用一种统一的方式进行交互。COM是一种协议,它建立了一个软件模块同另一个软件模块之间的连接,提供了组件之间进行

2015-03-16 09:57:41 632 1

原创 内存泄露

char *c = new char[1000];1.一般的变量分配如你的int i =1000;这个i是在程序栈中分配的,程序运行结束后,程序会自动释放掉程序栈中的数据。2.而new是动态的分配内存,这个内存在堆中分配的,堆中分配的内存 ,程序不会自动清除这个内存,只有靠程序员自己手动释放,也就是要用delete操作3.new分配的是指向内存单元的指针的值,所以应该用char *c4.释

2015-03-13 10:42:06 360 1

原创 STL

STL提供了一组表示容器、迭代器、函数对象和算法的模板。容器是一个与数组类似的单元,可以存储若干个值。STL是同质的,即存储的值的类型相同;算法是完成特定任务,(如对数组进行排序或在链表中查找特定值)的处方;迭代器能够用来遍历容器的对象,与能够遍历数组的指针类似,是广义指针;函数对象是类似于函数的对象,可以是类对象或函数指针(包括函数名,因为函数名被用于指针)。STL使得能

2015-03-11 14:07:54 314

原创 数据结构之前期定义2

ADT  Triplet{数据对象:D={e1,e2,e3|e1,e2,e3∈Elemset(定义了关系运算的某个集合)}数据关系:R1={,}基本操作:InitTriplet(&T,  v1,v2,v3)//操作结果:构造三元组T,元素e1,e2和e3分别被赋以参数v1,v2和v3的值DestroyTriplet(&T)//操作结果:三元组T被销毁Get(T,i,

2015-03-11 09:55:28 518

原创 数据结构之前期定义1

ADT 抽象数据类型定义抽象数据类型ADT  抽象数据类型名{数据对象:数据关系:基本操作:}ADT 抽象数据类型名数据对象和数据关系的定义用伪码表示,基本操作的定义格式为 基本操作名(参数名)初始条件:操作结果:基本操作有两种参数:赋值参数值为操作提供输入值;引用参数以&打头,除可提供输入值外,还将返回操作结果。

2015-03-11 09:35:44 394

转载 走近 STL

学习过C++程序设计语言(也就是说学习过Template),但是还没有接触过STL的STL的初学者。什么是泛型程序设计 我们可以简单的理解为:使用模板的程序设计就是泛型程序设计。就像我们我们可以简单的理解面向对象程序设计就是使用虚函数的程序设计一样。 STL是什么 作为一个C++程序设计者,STL是一种不可忽视的技术。Sandard Template Library (STL)

2015-03-09 10:56:12 361

原创 this指针

一个对象的this指针并不是对象本身的一部分,不会影响sizeof(对象)的结果。this作用域是在类内部,当在类的非静态成员函数中访问类的非静态成员的时候,编译器会自动将对象本身的地址作为一个隐含参数传递给函数。即使你没有写上this指针,编译器在编译的时候也是加上this的,它作为非静态成员函数的隐含形参,对各成员的访问均通过this进行。使用:一种情况就是,在类的非静态成

2015-03-09 10:16:16 452 3

原创 拷贝构造函数

C++允许同类型变量之间的赋值,int a =  100;  int b = a;对象是一种复杂的类类型,很多时候我们需要用一个对象去创建另一个对象,或者将一个对象赋值给另一个对象,这时需要用拷贝构造函数(当用已存在的对象为了一个新的对象赋值时,既要给新对象的数据成员分配空间资源,也要给新对象的数据成员赋予相应的值,即既要创建新对象,又要用原对象的值初始化。)定义方法:该构造函数的参数

2015-03-09 10:12:11 394 3

原创 单位

一般来说,档案容量使用的是二进制的方式,所以1GBytes的档案大小实际上为:1024*1024*1024Bytes那么大速度单位则常使用十进制,所以1GHz就是1000*1000*1000Hz的意思

2015-03-09 10:05:48 302 2

原创 结构、联合、枚举

结构是对若干个类型变量的组合,占用的空间为每个变量占用空间的总和(考虑字节对齐为1的情况)。联合是对若干个类型变量的组合,占用的空间取决于占用空间最大的变量枚举是对整数区间的自定义类型,用户可以为区间中的值取名,默认时,第一个名称对应为整数0.

2015-03-06 16:02:18 419

原创 冒泡排序

#include using namespace std;int main(){ int a[10] = {4,5,8,2,7,3,9,5,7,1};// int m = sizeof(a); for (int j = 10; j > 0 ;j --) { for( int i = 0; i < j; i++) { if(a[i] > a[i+1]) {

2015-03-06 15:54:46 359

原创 单链表

单链表是数据结构中最简单的,它的每一个节点只有一个指向后一个节点的指针,最后一个节点指向null建立#include #include typedef struct node{ int data; node* next;} node;node* create(){ int i = 0; node* head = NULL; node* p = NULL; no

2015-03-05 15:21:44 474 1

原创 进程和线程的区别

进程和线程的区别 什么是进程(Process):普通的解释就是,进程是程序的一次执行,而什么是线程(Thread),线程可以理解为进程中的执行的一段程序片段。在一个多任务环境中下面的概念可以帮助我们理解两者间的差别:   进程间是独立的,这表现在内存空间,上下文环境;线程运行在进程空间内。 一般来讲(不使用特殊技术)进程是无法突破进程边界存取其他进程内的存储空间;而线程

2015-03-05 09:25:55 347

原创 面试题

请说出const与#define 相比,有何优点?  答案:  Const作用:定义常量、修饰函数参数、修饰函数返回值三个作用。被Const修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。  1) const 常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查。而对后者只进行字符替换,没有类型安全检查,并且在字符替换可能会产生意料不到的错误。      

2015-03-04 09:21:03 395 7

转载 Lesson2: 掌握C++基本语法

1.      C++主要特点:封装性(Encapsulation):把数据与操作数据的函数组织在一起,使程序结构更加紧凑,提高类内部数据的安全性。继承性(Inheritance):增加了软件的可扩充性及代码重用性;多态性(Polymorphism):使设计人员在设计程序时可以对问题进行更好的抽象,有利于代码的维护和可重用2.      C++中几个特性的实现技术和其它要注意的地方

2015-03-03 14:20:29 488 3

转载 Lesson1: Windows程序运行原理及程序编写流程

窗口产生过程,句柄原理,消息队列,回调函数,窗口关闭与应用程序退出的工作关系,使用VC++的若干小技巧,stdcall与Lessonecl调用规范的比较,初学者常犯错误及注意事项。1.      Windows API与Win32 SDK操作系统提供了各种方便开发Windows应用程序的编程接口,所的函数都在Windows。h头文件中声明。Win32 SDK(Software Develo

2015-03-03 11:07:32 430 1

原创 重载(overload)和重写(overried,有的书也叫做“覆盖”)的区别?

从定义上来说:  重载:是指允许存在多个同名函数,而这些函数的参数表不同(或许参数个数不同,或许参数类型不同,或许两者都不同)。  重写:是指子类重新定义父类虚函数的方法。 从实现原理上来说:  重载:编译器根据函数不同的参数表,对同名函数的名称做修饰,然后这些同名函数就成了不同的函数(至少对于编译器来说是这样的)。如,有两个同名函数:function func(p:integer):

2015-03-03 09:38:05 1536

原创 虚函数表

C++中的虚函数的实现一般是通过虚函数表(C++规范并没有规定具体用哪种方法,但大部分的编译器厂商都选择此方法)。类的虚函数表是一块连续的内存,每个内存单元中记录一个JMP指令的地址。编译器会为每个有虚函数的类创建一个虚函数表,该虚函数表将被该类的所有对象共享。类的每个虚成员占据虚函数表中的一行。如果类中有N个虚函数,那么其虚函数表将有N*4字节的大小。虚函数(Virtual Func

2015-03-03 09:05:45 429 2

原创 日语自我介绍

はじめまして私は刘叶と申しますが、  初次见面我叫刘叶私の故郷は黒竜江ですそこは中国の北の方にあります。 我的故乡是黑龙江北趣味はアニメを见ることです、そして##(読书 旅行)も好きです   兴趣是看动漫 也喜欢(读书 旅游)私の一番好きな映画は「3 Idiots」といいます 。  我最喜欢的电影叫《三个白痴》ですからこれが好きなんです   所以喜欢它これから、よろしくお愿いい

2015-03-02 10:16:56 555

数据结构算法实现(严蔚敏版配套实现程序)

数据结构算法实现(严蔚敏版配套实现程序)

2014-04-08

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

TA关注的人

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