摘要: 线性表一、定义 线性表是n个数据元素的有限序列。二、线性表的顺序表示和实现即用一组地址连续的储存单元依次存储线性表的数据元素。以元素在计算机内“物理位置相邻”来表示线性表中数据元素之间的逻辑关系。即是用我们熟悉的C/C++中的数组存储数据元素。只要确定了数据元素的起始位置,就可随机地访问数据元素。但是这种表示方法不便于插入和删除元素,每插入或删除一个元素,都要移动插入或删除位置之后的数据元素在连续储存单元中的位置,而且除了重新分配内存,否则在程序运行过程中不能动态地增加储存单元的数量。三、线性表的链式表示和实现即用一个链表来储存数据元素。这种储存结构的特点是用一组任意的存储单元存储线性表的数据 阅读全文
posted @ 2012-08-07 20:13 倦飞L 阅读(598) 评论(0) 推荐(0) 编辑
摘要: 数据库系统概述一、数据、数据库、数据库管理系统、数据库系统1、数据。数据是数据库中存储的基本对象。数据是描述事物的符号记录。描述事物的符号可以是数字,也可以是文字、图形、图像、声音、语言等,它们都可以经过数字化后存入计算机。2、数据库(DB)。数据库是长期储存在计算机内、有组织、可共享的大量数据的集合。数据中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。3、数据库管理系统(DBMS)。数据库管理系统是位于用户与操作系统之间的一层数据管理软件。数据库管理系统和操作系统一样是计算机的基础软件,功能包括:1)数据定义功能,2)数据组织、存储 阅读全文
posted @ 2012-08-07 19:01 倦飞L 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 结构化数据与非结构化数据结构化数据:即行数据,存储在数据库里,可以用二维表结构来逻辑表达实现的数据。非结构化数据:不方便用数据库二维逻辑表来表现的数据,包括所有格式的办公文档、文本、图片、XML、HTML、各类报表、图像和音频/视频信息等等。半结构化数据:就是介于完全结构化数据(如关系型数据库、面向对象数据库中的数据)和完全无结构的数据(如声音、图像文件等)之间的数据,HTML文档就属于半结构化数据。它一般是自描述的,数据的结构和内容混在一起,没有明显的区分。结构化数据类型是一种用户定义的数据类型,它包含一些非原子的元素,更确切地说,这些数据类型是可以分割的,它们既可以单独使用,又可以在适当情 阅读全文
posted @ 2012-07-27 19:00 倦飞L 阅读(1245) 评论(0) 推荐(0) 编辑
摘要: 第一个项目的收获今天晚上终于交了人生的第一个项目,现在来总结一下,在这个项目中学到的东西吧!因为做过的事,不去总结,就只是经历,总结了,它才是你的经验。当然我也是在引用别人的话。不过还真是有这个必要。首先,在数据库方面,我现在是真正地体会到数据库的设计真的是一个程序或软件设计的重要和根基。因为数据库怎么设计,直接影响到一个程序或软件的功能的实现方法、性能和维护。由于我做的模块是要对数据库的数据进行计算和操作的,所以我对数据库的设计对程序的影响是深有体会,就是因为我们的数据库设计得不好,搞得我在对数据库中的数据进行获取和计算利润、总金时,非常困难,而且运行效率低,时间和空间的复杂也高,而且维护. 阅读全文
posted @ 2012-07-26 23:51 倦飞L 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 又一转载,个人感觉说得不错!一个类的实例化对象所占空间的大小? 注意不要说类的大小,是类的对象的大小. 首先,类的大小是什么?确切的说,类只是一个类型定义,它是没有大小可言的。 用sizeof运算符对一个类型名操作,得到的是具有该类型实体的大小。 如果 Class A; A obj; 那么sizeof(A)==sizeof(obj) 那么sizeof(A)的大小和成员的大小总和是什么关系呢,很简单,一个对象的大小大于等于所有非静态成员大小的总和。为什么是大于等于而不是正好相等呢?超出的部分主要有以下两方面: 1) C++对象模型本身 对于具有虚函数的类型来说,需要有一个方法为它的实体提供类型. 阅读全文
posted @ 2012-07-23 00:01 倦飞L 阅读(269) 评论(0) 推荐(0) 编辑
摘要: Ps:这是19号写的东西,想发表时,却发现上不了网,所以现在才发表,算是记录一下我的生活吧! WhatI do放假到今天也有11天了,这11天我都做了什么?我觉得这11天是过得非常有意义的。由于不用上课,也没有了其他课的负担和影响。在这11天时间里,我把以前没看完的C++Primer看完了,还看了一些有关PhotoShop的学习资料,当然也少不了运动。在C++方面,虽然以前也有看过一些C++的教材,但是它们说得都不详细,很多地方说得很浅很简单,让人觉得事实也是这样。但是看了C++Primer之后,觉得以前的自己其实什么都不懂,现在也是,不过应该比以前好一些。至少现在的知识比以前更全面,一些概念 阅读全文
posted @ 2012-07-22 23:53 倦飞L 阅读(147) 评论(0) 推荐(0) 编辑
摘要: C++Builder之文本编辑(Edit、Memo)1、AnsiString中第一个字符的下标为1而不是0;2、TEdit组件A、PasswordChar属性密码替代字符。如果TEdit组件用于密码输入时,可以通过设置此属性来实现。默认此属性为0,即正常显示字符,如果用于密码输入,一般将其值改为’*’,这样不管在其中输入什么字符,都只显示为星号,当然也可以设置为其他字符。B、OnChange事件最常用的Edit事件,当TEdit组件中的文本改变的时候触发。可以用于输入信息的及时处理。比如在输入过程中,如果TEdit组件中的文本是数据库中某人的名字,则适时显示此人的其他信息,这就要用到OnCha 阅读全文
posted @ 2012-07-22 23:48 倦飞L 阅读(837) 评论(0) 推荐(0) 编辑
摘要: 特殊工具与技术一、优化内存 1、策略:预先分配用于创建对象的内存,需要时在预先分配的内存中构造每人新对象。 2、allocator类;a.destroy(p),运行T*指针p所指对象的析构函数。注意,运行析构函数并不释放对象所在的内存,要想释放内存就要调用函数a.deallocate(p,n),释放然为p的T*指针中包含的地址处保存T类型的n个对象。 3、operator new函数与operator delete函数;注意与new和delete表达式区别。operator new和operator delete是函数,而new和delete是表达式。它们都返回void*指针而不是类型化... 阅读全文
posted @ 2012-07-18 12:23 倦飞L 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 指向类成员的指针并非指针 对于指向类成员的指针,必须紧记,指向类成员(非static)的指针并非指针。 1、与常规指针不同,一个指向成员的指针并不指向一个具体的内存位置,它指向的是一个类的特定成员,而不是指向特定对象里的特定成员。通常最清晰的做法,是将指向数据成员的指针看作为一个偏移量。这个偏移量告诉你,一个特定成员的位置距离对象的起点有多少个字节。 2、给定一个成员在类内的偏移量,为了访问位于那个偏移量的数据成员,我们需要该类的一个对象的地址。这时候就需要 .*和->*的操作。pC->*pimC,请求将pC内的地址加上pimC内的偏移量,为的是访问pC所指向的C对象中适当的数据成 阅读全文
posted @ 2012-07-17 17:34 倦飞L 阅读(161) 评论(0) 推荐(0) 编辑
摘要: Using与命名空间在学习C++的过程中,我们经常看到一些书上写着的一行语句:using namespace std;在说明using的使用,必须先了解命名空间的概念和使用。在一个给定作用域中定义的每个名字在该作用域中必须是唯一的,对庞大、复杂的应用程序而言,这个要求可能难以满足。这样的应用程序的全局作用域中一般有许多名字定义。由独立开发的库构成的复杂程序列更有可能遇到名字冲突——同样的名字既可能在我们自己的代码中使用,也可能(更常见地)在独立供应商提供的代码中使用。库倾向于定义许多全局名字——主要是模板名、类型名或名。在使用来自多个供应商的库编写应用程序时,名字冲突的问题尤为突出。这个问题. 阅读全文
posted @ 2012-07-16 18:08 倦飞L 阅读(430) 评论(0) 推荐(0) 编辑