PS:刚开始我还不知道函数指针有什么用,因为一个函数当中,弄个指针岂不是很麻烦,调用的时候直接找到函数就行了,在弄个指针指向它岂不是多此一举,但是,这可能是一种封装的机制,把函数封装好,看不到局部函数,可能是一种保护机制吧。。或者在主函数内部直接定义指针,更一目了然。比如qsort啥的,排序的算法已...
分类:
其他好文 时间:
2014-05-25 18:42:53
阅读次数:
205
【题目】
Given a list, rotate the list to the right by k places, where k is non-negative.
For example:
Given 1->2->3->4->5->NULL and k = 2,
return 4->5->1->2->3->NULL.
【题意】
给定一个链表L,和非负数K,要求把链表的后k个节点移到链表前
【思路】
先将指针指向指向倒数第K个节点,然后...
分类:
其他好文 时间:
2014-05-25 18:20:06
阅读次数:
252
首先,为什么要指针对齐(Pointer Alignment)?
指针对齐有时候非常重要,因为许多硬件相关的东西在对齐上存在限制。在有些系统中,某种数据类型只能存储在偶数边界的地址处。
例如,在经典的 SPARC架构(以及经典的ARM)上,你不能从奇数地址读取一个超过1字节的整型数据。尝试这么做将会立即终止程序,并伴随着总线错误。而在X86架构上,CPU硬件处理了这个问题,只是这么做将会花费更多...
分类:
其他好文 时间:
2014-05-25 18:12:37
阅读次数:
917
题目:一个有序数组,要求保证数组中的每个元素不能超过2个。 输入:A =[1,1,1,2,2,3]
输出:length =5, and A is now[1,1,2,2,3]思路:双指针
。有些绕,不过理清了后,思路还是很直接明朗的。1、两个指针:p和help。初始化时同时指向数组头。变量cur.....
分类:
其他好文 时间:
2014-05-25 16:15:16
阅读次数:
285
最近头脑里面一直在想怎么样让能让大家基于DIOCP上写出稳定的服务端程序。很多朋友问我,你DIOCP稳定吗,我可以用他来做三层服务器吗?
当时我是这样回答的,我只能保证DIOCP底层通信的稳定。说实话,服务端要稳定,并不容易,写过服务端的程序员都清楚。特别是这种可以直接操作指针,自己分配内存和释放内...
分类:
其他好文 时间:
2014-05-25 11:27:09
阅读次数:
196
尽管在开发过程中坚守原则和谨慎编程甚至严格测试,然而内存泄露的错误还是难以杜绝,如何让系统自动查出内存泄露的错误呢?一种比较好的方法是建立日志块,即每次分配内存时记录该内存块的指针和大小,释放时再去除该日志块,如果有内存泄露就会有对应的日志块记录这些内存没有释放,这样就可以提醒程序员进行查错。...
分类:
其他好文 时间:
2014-05-25 10:58:26
阅读次数:
291
红黑树
红黑树是一种二进制查找树,但在每个节点上增加一个存储位表示节点的颜色,可以是red或black。通过对任何一条从根到叶子的路径上各个节点着色方式的限制,红黑树确保没有一条路径会比其他路径长出两倍,因而是接近平衡的。
树中灭个节点包含五个域,color,key,left,right 和p。如果某及诶但没有一个子节点或父节点,则该节点响应的指针域包含值NIL.我们将把这些NIL指向二叉查找...
分类:
其他好文 时间:
2014-05-25 10:27:17
阅读次数:
290
1.链队列结构
typedef struct QNode /* 结点结构 */
{
QElemType data;
struct QNode *next;
}QNode,*QueuePtr;
typedef struct /* 队列的链表结构 */
{
QueuePtr front,rear; /* 队头、队尾指针 */
}LinkQueue;...
分类:
编程语言 时间:
2014-05-25 10:25:15
阅读次数:
325
1. 循环队列的顺序存储结构
typedef struct
{
QElemType data[MAXSIZE];
int front; /* 头指针 */
int rear; /* 尾指针,若队列不空,指向队列尾元素的下一个位置 */
}SqQueue;
2. 初始化一个空队列Q
Status InitQueue(SqQueue *Q)
{
Q->fr...
分类:
编程语言 时间:
2014-05-25 04:43:05
阅读次数:
407