c
c 队列的基本操作?
队列的基本操作?
1.初始化队列,一般令tail0,head0,如果队列中含有其他元素,则给其赋初值。
2.进队列,即在队尾插入一个元素。在进行插入之前必须判断队列是否为满,之后队尾指针加一。
3.出队列,即从对列首部取出一个元素。在进行出队之前必须判断队列是否为空,之后队首指针加一。
4.队列空。当入队元素个数等于出队元素个数的时候,即认为队列为空。
5.队列满。当队列中的元素个数达到队列所能容纳的最大值的时候,即可判断队列为满。在循环队列中我们通常会牺牲一个元素,以区分队列满和空。
设栈s和队列q的初始状态都为空,元素a,b,c,d,e和f依次通过栈s,一个元素出栈后即进入q?
a先入栈,然后b入栈,然后b出栈,然后c,d依次入栈,然后d,c依次出栈,然后e,f依次入栈,最后栈中从上往下还剩下f,e,a,它们也依次出栈。队列即为bdcfea,也就是6个元素出队列的序列是bdcfea。
在链队列中执行入队操作A(需判别队是否空)B需判别队是否满C限制在链表头p进行D限制在链表尾进行?
D 入队 是增加一个资源,无需判空,又是链队,没有空间要求,故无需判满,D
队列的特点是?
我的回答是:我们当过兵的都知道队列的特点,就是无论你怎么看都是一条直线,横看、竖看、测方看都一样,很是威武。练习队列的时候很苦,从基本站姿开始,因为没去部队之前每个人受到的教育不同,走路的姿势都不一样,到部队后会把走路的姿势整齐划一。
信号量包含哪三种类型?
整型信号量(integer semaphore):信号量是整数
记录型信号量(record semaphore):每个信号量s除一个整数值(计数)外,还有一个进程等待队列s.L,其中是阻塞在该信号量的各个进程的标识
二进制信号量(binary semaphore):只允许信号量取0或1值
每个信号量至少须记录两个信息:信号量的值和等待该信号量的进程队列。它的类型定义如下:(用类PASCAL语言表述)
semaphore record
value: integer;
queue: ^PCB;
end;
其中PCB是进程控制块,是操作系统为每个进程建立的数据结构。
时,s.queue为空;
时,的绝对值为s.queue中等待进程的个数;