头指针: 头指针是指链表指向第一个结点的指针,若链表有头结点,则是指向头结点的指针。 头指针具有标识作用,所以常用头指针冠以链表的名字。 无论链表是否为空,头指针均不为空。 头指针是链表的必要元素。头结点: 它是为了操作的统一和方便设立的,放在第一个元素的结点之前,其数据域一般无意义(但也...
分类:
其他好文 时间:
2015-01-21 22:01:27
阅读次数:
369
转载请注明出处:
锁级别:
从前面的《扩展哈希表》知道:哈希表进行扩展时,有一个专门的线程负责将item数据从旧哈希表迁移到新哈希表(由此,也称这个线程为迁移线程)。此外,还有一些worker线程会时不时访问item(包括插入、删除和获取)。这些线程的对item所做的操作基本上都是互斥的,必须加锁控制。
如果只使用一个锁,抢到该锁才能使...
分类:
系统相关 时间:
2015-01-20 10:29:59
阅读次数:
226
二分查找二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成...
分类:
其他好文 时间:
2015-01-19 12:29:14
阅读次数:
133
用一个头链表实现栈,头指针永远指向栈顶元素#include #include #include typedef int ElemenType ;typedef struct node{ ElemenType data; struct node *next;}Linkstack;Lin...
分类:
其他好文 时间:
2015-01-15 23:37:18
阅读次数:
177
STL setB添加义项?STL 对这个序列可以进行查找,插入删除序列中的任意一个元素,而完成这些操作的时间同这个序列中元素个数的对数成比例关系,并且当游标指向一个已删除的元素时,删除操作无效。而一个经过更正的和更加实际的定义应该是:一个集合(set)是一个容器,它其中所包含的元素的值是唯一的。这在...
分类:
其他好文 时间:
2015-01-15 09:18:11
阅读次数:
184
触发器是一种特殊的存储过程,它在插入,删除或改动特定表中的数据时触发运行,它比数据库本身标准的功能有更精细和更复杂的数据控制能力。数据库触发器有下面的作用:1.安全性。能够基于数据库的值使用户具有操作数据库的某种权利。# 能够基于时间限制用户的操作,比如不同意下班后和节假日改动数据库数据。# 能够基...
分类:
数据库 时间:
2015-01-14 21:15:34
阅读次数:
168
一、线性表的顺序存储需要三个属性
1.存储空间的起始位置
2.线性表的最大存储容量
3.线性表的当前长度
二、线性表的时间复杂度:
线性表的顺序存储结构,在存、读数据时,不管是哪个位置,时间复杂度都是O(1); 插入删除的时间复杂度是O(n),所以线性表适合元素个数不太变化,而更多是存取数据的应用。
三、线性表的结构示意图:
四、代码示例:
/*我们的计量方...
分类:
其他好文 时间:
2015-01-14 15:37:53
阅读次数:
176
链式队列是基于单链表的一种存储表示, 其形状如下图所示: (队列的队头指针指向单链表的第一个结点, 队尾指针指向单链表的最后一个结点, 注意没有无用的空[头/尾]节点) 用单链表表示的链式队列特别适合于数据元素变动比较大的情况, 而且不存在队列满而产生溢出的情况; 链式队列结点构造:[这次我们将节点构造成了类LinkQueue的嵌套类]struct ChainNode
{
C...
分类:
其他好文 时间:
2015-01-10 21:06:42
阅读次数:
223
#include#include#define LEN sizeof(struct Student)struct Student { long num; char name[20]; int age; float score; struct Student *next; };int n;struct...
分类:
其他好文 时间:
2015-01-10 12:27:33
阅读次数:
199