栈是限定仅在表的一端进行插入或删除的纯属表,通常称允许插入,删除的一端为栈顶(Top),相应在的,则称另一端为栈底(Bottom)。不含元素的栈则称为空栈。
所设栈S={a1,a2,a3,...,an},则称a1为栈底元素,an为栈顶元素。根据栈的定义可知,栈顶元素总是最后入栈并且最先出栈的;栈底元素总是最先入栈并且最后出栈的。即栈是按后进先出的原则进行的。因此,栈又称为后进先...
分类:
其他好文 时间:
2014-09-20 01:11:16
阅读次数:
285
一、实验内容 实验3:Linux进程管理及其扩展1、阅读并分析Linux内核源代码,了解进程控制块、进程队列等数据结构;2. 实现一个系统调用,使得可以根据指定的参数隐藏进程,使用户无法使用ps或top观察到进程状态。具体要求如下:(1)实现系统调用int hide(pid_t pid, int o...
分类:
其他好文 时间:
2014-09-17 23:11:52
阅读次数:
735
在单链表中,每一个结点包含两部分:存放每一个数据元素本身信息的数据域和存放其直接后继存储位置的指针域。
单链表结点的类型描述:
typedef int ElemType;
typedef struct node{
ElemType data;
struct node *next;
}LNode,*LinkList;
单链表的存取必须从头指针开始...
分类:
其他好文 时间:
2014-09-17 12:08:22
阅读次数:
233
管程的概念
管程 (英语:Moniters,也称为监视器) 是一种程序结构,结构内的多个子程序(对象或模块)形成的多个工作线程互斥访问共享资源。
这些共享资源一般是硬件设备或一群变量。管程实现了在一个时间点,最多只有一个线程在执行管程的某个子程序。
与那些通过修改数据结构实现互斥访问的并发程序设计相比,管程实现很大程度上简化了程序设计。
管程提供了一种机制,线程可以临时放弃互斥访问,等待某...
分类:
编程语言 时间:
2014-08-31 23:00:52
阅读次数:
275
在强类型的变成语言中,有专用的数据结构解决方案。通常都是创建一个容器,在这个容器中可以存储任意类型的数据,并且可以根据容器中存储的数据决定容器的容量,达到可以变长的容器结构,比如链表、堆栈及队列等都是数据结构中常用的形式。在PHP中,通常都是使用数组来完成其他语言使用数据结构才能完成的工作。它是弱类...
分类:
其他好文 时间:
2014-08-08 15:28:36
阅读次数:
213
在前面LZ详细介绍了HashMap、HashTable、TreeMap的实现方法,从数据结构、实现原理、源码分析三个方面进行阐述,对这个三个类应该有了比较清晰的了解,下面LZ就Map做一个简单的总结。 推荐阅读: java提高篇(二三)—–HashMap java提高篇(二五)—–HashTable...
分类:
编程语言 时间:
2014-07-18 21:07:22
阅读次数:
406
在前面LZ详细介绍了HashMap、HashTable、TreeMap的实现方法,从数据结构、实现原理、源码分析三个方面进行阐述,对这个三个类应该有了比较清晰的了解,下面LZ就Map做一个简单的总结。 推荐阅读: java提高篇(二三)—–HashMap java提高篇(二五)—–HashTable Java提高篇(二六)-----hashC...
分类:
编程语言 时间:
2014-07-17 19:12:38
阅读次数:
303
下面是python中字典的一种实现,用list数据结构实现字典。具体是这样的:[[(key1,value1),(key2,value2),...],[],[],...]
内部每一个hash地址是一个list,存放hash地址相同的(key,value)对。
dict代码
def Map(num_buckets=256):
"""Initializes a Map with t...
分类:
编程语言 时间:
2014-06-10 15:30:49
阅读次数:
298