随笔 - 140  文章 - 0  评论 - 15  阅读 - 24万
11 2009 档案
单向链表的反转
摘要:比如一个链表是这样的: 1->2->3->4->5 通过反转后成为5->4->3->2->1。 最容易想到的方法遍历一遍链表,利用一个辅助指针,存储遍历过程中当前指针指向的下一个元素,然后将当前节点元素的指针反转后,利用已经存储的指针往后面继续遍历。源代码如下:代码 Code highlighting produced by Actipro Code... 阅读全文
posted @ 2009-11-30 23:33 怂QQ 阅读(376) 评论(0) 推荐(0) 编辑
什么事数据库事务
摘要:数据库事务是指作为单个逻辑工作单元执行的一系列操作。 设想网上购物的一次交易,其付款过程至少包括以下几步数据库操作:  · 更新客户所购商品的库存信息  · 保存客户付款信息--可能包括与银行系统的交互  · 生成订单并且保存到数据库中  · 更新用户相关信息,例如购物数量等等正常的情况下,这些操作将顺利进行,最终交易成功,与交易相关的所有数据库信息也成功地... 阅读全文
posted @ 2009-11-28 11:33 怂QQ 阅读(360) 评论(0) 推荐(0) 编辑
C语言文件读写命令
摘要:C语言把磁盘文件看成是字符(或字节)的序列,按照存储信息的形式来说,文件主要是有文本文件和二进制文件。文本文件由一个个字符组成,每个字节存放一个ASCII码制,代表一个字符。二进制文件把内存中的数据按其在内存中的存储形式原样放入磁盘空间。 二进制文件以及文本文件都可以看做是“数据流”。流文件的特点是,处理时不需考虑文件中的数据的性质、类型和存放格式。访问时只是以字节为单位对... 阅读全文
posted @ 2009-11-25 15:18 怂QQ 阅读(9666) 评论(1) 推荐(1) 编辑
delete和delete[]的区别
摘要:C++告诉我们在回收用new分配的单个对象的内存空间的时候用delete,回收用new[]分配的一组对象的内存空间的时候用delete[]。 楼主的这个问题提得很好。很多人注意到了这个问题,但是却不清楚为什么要这样做,不这样做行不行。 关于new[]和delete[],其中又分为两种情况:(1)为基本数据类型分配和回收空间;(2)为自定义类型分配和回收空间。 对于(1),上面提供的程序已经证明了d... 阅读全文
posted @ 2009-11-21 16:20 怂QQ 阅读(328) 评论(0) 推荐(0) 编辑
常用数据结构
摘要:1. 链表链表可以使用数组实现,也可以使用指针实现。用数组实现的链表的插入、删除操作需要O(N)的时间复杂度,很少使用。用指针实现的链表,插入删除操作可以O(1)时间完成。CodeCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->链表结点定义structNode{ElementTypeElement;Node*Next;};链表常用操作intIsEmpty(Node*L);intIsLast(Node*L);Node*Find(ElementT 阅读全文
posted @ 2009-11-19 22:11 怂QQ 阅读(442) 评论(0) 推荐(0) 编辑
二叉树创建及遍历算法(递归及非递归)
摘要://二叉树处理头文件//包括二叉树的结构定义,二叉树的创建,遍历算法(递归及非递归),/*作者:成晓旭时间:2001年10月7日(18:49:38-20:00:00)内容:完成二叉树创建,二叉树的前,中,后序遍历(递归)时间:2001年10月7日(21:09:38-22:09:00)内容:完成二叉树的前,中序遍历(非递归)时间:2001年10月8日(10:09:38-11:29:00)内容:完成查... 阅读全文
posted @ 2009-11-15 16:17 怂QQ 阅读(3163) 评论(0) 推荐(1) 编辑
java和c++有什么区别
摘要:JAVA和C++都是面向对象语言。也就是说,它们都能够实现面向对象思想(封装,继乘,多态)。而由于c++为了照顾大量的C语言使用者, 而兼容了C,使得自身仅仅成为了带类的C语言,多多少少影响了其面向对象的彻底性!JAVA则是完全的面向对象语言,它句法更清晰,规模更小,更易学。它是在对多种程序设计语言进行了深入细致研究的基础上,据弃了其他语言的不足之处,从根本上解决了c++的固有缺陷。 Java和c... 阅读全文
posted @ 2009-11-15 14:44 怂QQ 阅读(294) 评论(0) 推荐(0) 编辑
【转】指针,指针数组,数组指针,函数指针
摘要:################################# ## 基本知识 ## #################################当然我们一切都是从最简单的内建类型开始,最后我会做一些推广。先看一下基本的形式,我们从这里起步!--------------指针----------------int a=10;int *p=&a;-------------指针的指针-... 阅读全文
posted @ 2009-11-14 22:16 怂QQ 阅读(374) 评论(0) 推荐(0) 编辑
C++函数模板详解
摘要:C++函数模块基础知识:一.问题:强类型语言要求我们为所有希望比较的类型都实现一个实例int min( int a, int b ) {return a < b ? a : b;}double min( double a, double b ) {return a < b ? a : b;}有一种方法可替代为每个min()实例都显式定义一个函数的方法这种方法很有吸引力但是也很危险.那就... 阅读全文
posted @ 2009-11-05 11:51 怂QQ 阅读(554) 评论(0) 推荐(0) 编辑
C++的一些小问题(二)
摘要:1. struct和class的区别•默认的访问权限不同 class中的成员默认private,struct中的成员默认public•默认的继承权限不同 class默认private继承,struct默认public继承•模板中区别 模板库中,可以使用template<class T> 或template<typename T>,但是没有... 阅读全文
posted @ 2009-11-05 10:22 怂QQ 阅读(210) 评论(0) 推荐(0) 编辑
构造函数,析构函数可不可以是虚函数?
摘要:构造函数:为对象分配存储空间,使一个对象初始化;析构函数:在该对象生命期完结时做相应的扫尾工作并释放由构造函数分配的内存;构造函数不能是虚函数的原因:自己的话:【只有基类指针指向子类对象时,虚函数才用意义。当一个基类指针指向子类对象时,子类对象已经构造好了,已经没有动态绑定的必要了,所以虚函数不能是虚函数。】从概念上来说,如前所述,虚函数机制只有在应用于地址时才有效,因为地址在编译阶段提供的类型信... 阅读全文
posted @ 2009-11-04 21:03 怂QQ 阅读(623) 评论(0) 推荐(0) 编辑
c++相对c是强类型语言
摘要:孤立地判定一个语言是弱类型还是强类型是没有意义的,因为在学术界还没有"strongly typed language"的统一的定义。我们只能说语言A相对于语言B是强类型的。笼统地将,强类型语言是能够禁止任何违反类型系统的代码的语言,或者说是能够捕获所有违反类型系统的错误的语言。我们说C++相对于C是强类型的,是因为C++禁止了一些C中的隐式转换,比如将void*转换为任意的指针类型。C语言规定所有... 阅读全文
posted @ 2009-11-04 14:50 怂QQ 阅读(1424) 评论(0) 推荐(0) 编辑
c++中动态分配数组
摘要:以前一直没有明白为什么说new可以动态的分配数组,今天终于搞清楚了。上代码[代码]这样会报错,说数组的参数不是常量。需要改成const int a=5才行。如果使用new就可以动态的定义数组的大小了,不需要常量的参数。[代码] 阅读全文
posted @ 2009-11-04 10:56 怂QQ 阅读(398) 评论(0) 推荐(0) 编辑
itoa与atoi的实现
摘要:/*itoa把整型转换成字符串 */itoa(int i, char* string){ int power, j ; j=i; for(power=1; j >= 10; j/=10) power*=10; for(; power > 0 ; power/=10){*string++ = '0'+i/power;i%=power; }*string = '\0';}刚碰到的时候对 ... 阅读全文
posted @ 2009-11-03 11:15 怂QQ 阅读(337) 评论(0) 推荐(0) 编辑
c++中explicit关键字的含义和用法
摘要:c++中的explicit关键字用来修饰类的构造函数,表明该构造函数是显式的,既然有"显式"那么必然就有"隐式",那么什么是显示而什么又是隐式的呢?如果c++类的构造函数有一个参数,那么在编译的时候就会有一个缺省的转换操作:将该构造函数对应数据类型的数据转换为该类对象,如下面所示:class MyClass{public:MyClass( int num );}....MyClass obj = ... 阅读全文
posted @ 2009-11-03 10:53 怂QQ 阅读(286) 评论(0) 推荐(0) 编辑
C++ 中的运算符重载
摘要:所谓重载,就是重新赋予新的含义。函数重载就是对一个已有的函数赋予新的含义,使之实现新功能。运算符也可以重载 ..运算符重载是对已有的运算符赋予多重含义...// 也就是说重载完之后,会根据我们定义的重载函数 自动调用最符合调用的方法使用...比如我们定义的类的重载运算符+. 当我们使用类的对象相加时,会自动调用我们定义的重载...而当我们使用内置的+法运算,比如 int b=5+3; 那么这是还是... 阅读全文
posted @ 2009-11-03 10:22 怂QQ 阅读(861) 评论(1) 推荐(0) 编辑
c++中类的默认构造函数,析构函数,拷贝构造函数
摘要:1.默认构造函数如果没有显示的为类声明构造函数,编译器将生成一个不接受任何参数。也不执行任何操作的默认构造函数。然而你可以创建自己的默认构造函数,它不接受任何参数,但根据需要对对象进行设置。编译器提供的构造函数被称为默认构造函数,但按照惯例,任何不接受参数的构造函数都是默认构造函数。如果你创建了任何构造函数,编译器不会提供构造函数。因此,如果需要一个不接受任何参数的构造函数,切已经创建了其他构造函... 阅读全文
posted @ 2009-11-02 22:55 怂QQ 阅读(1691) 评论(0) 推荐(0) 编辑
C++ 运算符优先级
摘要:PrecedenceOperatorDescriptionExampleAssociativity1()[]->.::++--Grouping operatorArray accessMember access from a pointerMember access from an objectScoping operatorPost-incrementPost-decrement(a + ... 阅读全文
posted @ 2009-11-02 10:30 怂QQ 阅读(232) 评论(0) 推荐(0) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示