判断单链表是否有环两个指针分别为p1和p2,每循环一次只向前走一步,p2向前走两步,知道p2碰到NULL指针或者两个指针相等则说明有环如果存在,start存放在圆环开始的节点bool
IsLoop(node *head,node *start){node *p1=head,*p2=head;if(h...
分类:
其他好文 时间:
2014-05-10 00:22:22
阅读次数:
272
2013-01-28void*/void xdata
*在值为0时有区别,因为它们还保存了存储区域,导致0值的void xdata *如果转换为 void*再和NULL比较时,并不相等;直接把类似void
xdata *这样的指针和NULL比较是可以的, 而把它转换成 void*再和NULL比较则不...
分类:
其他好文 时间:
2014-05-10 00:02:28
阅读次数:
288
什么是容器首先,我们必须理解一下什么是容器,在C++中容器被定义为:在数据存储上,有一种对象类型,它可以持有其它对象或指向其它对像的指针,这种对象类型就叫做容器。很简单,容器就是保存其它对象的对象,当然这是一个朴素的理解,这种“对象”还包含了一系列处理“其它对象”的方法,因为这些方法在程序的设计上会...
分类:
编程语言 时间:
2014-05-09 23:06:50
阅读次数:
352
指针从本质上讲就是存放变量地址的一个变量,在逻辑上是独立的,它可以被改变,包括其所指向的地址的改变和其指向的地址中所存放的数据的改变。而引用是一个别名,它在逻辑上不是独立的,它的存在具有依附性,所以引用必须在一开始就被初始化,而且其引用的对象在其整个生命周期中是不能被改变的。相同点:●都是地址的概念...
分类:
其他好文 时间:
2014-05-09 20:17:47
阅读次数:
313
addTarget:self 的意思是说,这个方法在本类中也可以传入其他类的指针*/
分类:
其他好文 时间:
2014-05-09 19:55:49
阅读次数:
236
问题:有一个由大小写组成的字符串,现在需要对它进行修改,将其中的所有小写字母排在大写字母的前面(大写或小写字母之间不要求保持原来次序)。解决办法:设置2个指针i和j,i最初指向字符串的第一个位置,j指向字符串的最后一个位置;i向后遍历直到遇到第一个大写字符,j向前遍历直到遇到第一个小写字母,交换i和...
分类:
其他好文 时间:
2014-05-09 19:45:40
阅读次数:
284
一、sizeof sizeof(...)是运算符,在头文件中typedef为unsigned
int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。 它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。
由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小...
分类:
其他好文 时间:
2014-05-09 16:11:21
阅读次数:
267
判断单链表是否有环
假设两个指针分别为p1和p2,每循环一次只向前走一步,p2向前走两步,知道p2碰到NULL指针或者两个指针相等则说明有环
如果存在,start存放在圆环开始的节点...
分类:
其他好文 时间:
2014-05-09 14:12:54
阅读次数:
273
循环引用:引用计数是一种便利的内存管理机制,但它有一个很大的缺点,那就是不能管理循环引用的对象。一个简单的例子如下:#include#include#include#includeclassparent;classchildren;typedefboost::shared_ptr
parent_pt...
分类:
其他好文 时间:
2014-05-09 13:01:22
阅读次数:
326
#include
using namespace std;
const int MAXQSIZE = 5;
//队列类
template
struct LinkList
{
T * data;//指向连续的数据存储区域
int front;//头指针 指向第一个元素
int rear;//尾指针 如果队列不为空指向最后元素的下一个位置
};
//构造一个空队列
template
void...
分类:
其他好文 时间:
2014-05-09 06:07:53
阅读次数:
248