C/C++
文章平均质量分 88
zouliping123
这个作者很懒,什么都没留下…
展开
-
实现基于VxWorks的消息队列通信机制的C/S通信
写在前面要实现如图所示的C/S通信需要掌握的知识有:1.VxWorks的消息队列的API(具体内容可以在VxWorks内核源码的目录下的src/wv/msgQlib.c这个文件中找到)主要用到的方法有:msgQCreate,msgQSend,msgQReceiveMSG_Q_ID msgQCreate ( int maxMsgs,原创 2013-04-17 18:46:41 · 1704 阅读 · 0 评论 -
二叉树的建立(根据遍历结果构建)、遍历(非递归)和搜索
定义与性质二叉树的每个节点至多只有两棵子树,二叉树的子树有左右之分,不可颠倒。二叉树的第i层至多有2^(i-1)个节点;深度为k的二叉树的节点至多有2^k - 1个节点;对任一个二叉树,其叶子节点的个数为n,度为2的节点个数为m,n = m + 1 。(摘自wiki)节点定义typedef struct BinaryTreeNode{ char value; stru原创 2013-05-04 16:45:32 · 1397 阅读 · 0 评论 -
链表基础及常见面试题
基础知识链表是一种很常见的数据结构,在每个节点都保存了指向下一个节点的指针。与顺序表相比,链表插入元素的复杂度是O(1),查找一个节点或者访问特定节点编号的元素的复杂度是O(n);顺序表插入元素的复杂度是O(n),而查找的复杂度是O(1)。使用链表可以不必事先知道数据的大小,但是增加了指针域,加大了内存的开销。链表有三种类型:单向链表、双向链表和循环链表。链表节点的定义ty原创 2013-05-14 18:16:31 · 1365 阅读 · 0 评论 -
C/C++位运算技巧
预备知识对于位运算,大家都很熟悉,基本的位操作有与、或、非、异或等等。在面试中经常会出现位运算相关的题,所以我就做了简单的整理,参考了很多写的很好的博客及书籍。现在简单说一下,移位运算。左移运算:x 右移运算:x >> y。将x右移y位,这需要区分x是有符号数还是无符号数。在x是无符号数时,只需将x的最右边的y位丢弃,在左边补上y个0。在x是有符号数时,又分为x是正数还是负数。正数原创 2013-06-01 14:40:14 · 21178 阅读 · 5 评论