03 2012 档案

摘要:1. 关于数组长度数组可以指定长度然后初始化,也可以由编译器自动根据初始化内容计算数组长度int vector[5] = {1, 2, 3, 4, 5};//指定长度初始化int vector[] = {1, 2, 3, 4, 5, 6};//自动计算数组长度对于字符形式,可以直接指定初始化,也可以使用字符串的方法初始化//1char message1[] = {'H', 'e', 'l', 'l', 'o'};//2char message2[] = "Hello";char *message 阅读全文
posted @ 2012-03-28 14:03 寒山月 阅读(221) 评论(0) 推荐(0)
摘要:1.不要使用顺序表的场合 经常插入删除时,不宜使用顺序表 线性表的最大长度也是一个重要因素2.不要使用链表的场合 当读操作比插入删除操作频率大时,不应选择链表 当指针的存储开销,和整个结点内容所占空间相比其比例较大时,应该慎重选择3.实际应用中,顺序栈比链式栈用得更广泛些 顺序栈容易根据栈顶位置,进行相对位移,快速定位并读取栈的内部元素 顺序栈读取内部元素的时间为O(1),而链式栈则需要沿着指针链游走,显然慢些,读取第k个元素需要时间为O(k) 一般来说,栈不允许“读取内部元素”,只能在栈顶操作4. 顺序队列 固定的存储空间 方便访问队列内部元素5.链式队列 可以满足浪涌... 阅读全文
posted @ 2012-03-23 16:45 寒山月 阅读(281) 评论(0) 推荐(0)
摘要:今天在mingw下测试段代码发现sleep函数找不到,跳到stdlib.h中sleep的说明如下_CRTIMP void __cdecl __MINGW_NOTHROW _sleep (unsigned long) __MINGW_ATTRIB_DEPRECATED;这句上面还有段注释,意思是说SetErrorMode、Beep和Sleep三个函数舍弃了,可以使用win32 API对应的函数。使用sleep函数参考了这篇文章的写法1 #if defined(WIN32) || defined(WIN64) 2 #include <windows.h> 3 #define sleep 阅读全文
posted @ 2012-03-22 10:59 寒山月 阅读(1705) 评论(0) 推荐(0)
摘要:在《C语言接口与实现:创建可重用软件的技术》一书中,提到了不透明指针:C语言中常使用typedef定义,比如:typedef struct stack *stack_t;该定义表示一个指向栈结构的指针,但并没有给出结构的任何信息,所以stack_t是一个不透明指针类型,客户程序可以自由的操纵这种指针,但无法反引用,即无法查看指针所指向结构的内部信息,只有接口的实现才有这种特权。好处:不透明指针隐藏了实现细节,有助于捕获错误。即只能传相同类型的参数给函数,否则将产生变异错误。例外是参数中有void型指针void *型指针作为一种通用的指针,可以和其它任何类型的指针(函数指针除外)相互转化而不需要 阅读全文
posted @ 2012-03-21 16:32 寒山月 阅读(2547) 评论(3) 推荐(0)
摘要:今天备份linux资料,发现平常用onenote在代码目录里留了不少垃圾文件,很多文件夹都有,总不能一个一个去删啊,遂google之,《linux下递归删除目录下所有exe文件》帮了我,让我可以一次性删除某目录及其子目录下所有的同类型文件。命令:find . -name '*.onetoc2' -type f -print -exec rm -rf {} \;(1) "." 表示从当前目录开始递归查找(2) “ -name '*.onetoc2' "根据名称来查找,要查找所有以.onetoc2结尾的文件(3) " -typ 阅读全文
posted @ 2012-03-21 14:22 寒山月 阅读(1528) 评论(0) 推荐(0)