链表是驱动开发中经常遇到的一个数据结构,主要是双向循环链表;要使用链表,需要用到一个LIST_ENTRY的结构,其定义如下:
typedef struct _LIST_ENTRY {
struct _LIST_ENTRY *Flink; // 指向下一个节点
struct _LIST_ENTRY *Blink; // 指向前一个节点
} LIST_ENTR...
分类:
其他好文 时间:
2014-08-22 01:39:45
阅读次数:
448
参照博客:
http://www.cnblogs.com/linzheng/news/2011/07/14/2106530.html。
http://blog.csdn.net/dongxinxi/article/details/6303421...
分类:
编程语言 时间:
2014-08-21 21:18:34
阅读次数:
260
1 BSTreeNode* ConvertNode(BSTreeNode* pNode, bool asRight) 2 { 3 if(!pNode) 4 return NULL; 5 6 BSTreeNode *pLeft = NULL; 7 ...
分类:
其他好文 时间:
2014-08-21 13:15:54
阅读次数:
200
Shaker排序 –
算法
1、 气泡排序的双向进行,先让气泡排序由左向右进行,再来让气泡排序由右往左进行,如此完成一次排序的动作
2、 使用left与right两个旗标来记录左右两端已排序的元素位置。...
分类:
其他好文 时间:
2014-08-21 00:12:07
阅读次数:
120
题目:如果我们把二叉树看成一个图,父子节点之间的连线看成是双向的,我们姑且定义"距离"为两节点之间边的个数。写一个程序求一棵二叉树中相距最远的两个节点之间的距离。...
分类:
其他好文 时间:
2014-08-20 19:40:12
阅读次数:
249
$apply()和$digest()在AngularJS中是两个核心概念,但是有时候它们又让人困惑。而为了了解AngularJS的工作方式,首先需要了解$apply()和$digest()是如何工作的。这篇文章旨在解释$apply()和$digest()是什么,以及在日常的编码中如何应用它们。
探索$apply()和$digest()
AngularJS提供了一个非常酷的特性叫做双向数据...
分类:
移动开发 时间:
2014-08-20 14:08:12
阅读次数:
234
上一篇分析了LinkedHashMap源码,这个Map集合除了拥有HashMap的大部分特性之外,还拥有链表的特点,即可以保持遍历顺序与插入顺序一致。另外,当我们将accessOrder设置为true时,可以使遍历顺序和访问顺序一致,其内部双向链表将会按照近期最少访问到近期最多访问的顺序排列Entry对象,这可以用来做缓存。
这篇文章分析的LruCache并不是jdk中的类,而是来自安卓...
分类:
其他好文 时间:
2014-08-20 10:33:46
阅读次数:
171
解题报告
题意:
双核CPU,n个模块,每个模块必须运行在某个CPU核心上,每个模块在cpu单核的消耗A和B,M对模块要共享数据,如果在同一个核心上不用消耗,否则需要耗费。安排N个模块,使得总耗费最小
思路:
将两个cpu核心看成源点和汇点,其他模块分别与源点汇点连线(表示每个模块可以在任意cpu上运行),m对模块分别连双向边,要使得模块只能在一个cpu上运行,就是找到一个割,源点和汇点必...
分类:
其他好文 时间:
2014-08-18 18:38:32
阅读次数:
205
一、双向队列Deque Queue除了前面介绍的实现外,还有一种双向的Queue实现Deque。这种队列允许在队列头和尾部进行入队出队操作,因此在功能上比Queue显然要更复杂。下图描述的是Deque的完整体系图。需要说明的是L...
分类:
数据库 时间:
2014-08-18 12:41:24
阅读次数:
354