首页
最大容量为n的循环队列,队尾指针是rear,队头是front,若牺牲一个空间不用,则队列满的条件是()。
精华吧
→
答案
→
远程教育
→
联大学堂
最大容量为n的循环队列,队尾指针是rear,队头是front,若牺牲一个空间不用,则队列满的条件是()。
正确答案:(rear+1)%n==front
Tag:
数据结构
队列
指针
时间:2024-01-19 16:05:02
上一篇:
如果允许在循环队列的两端都可以进行插入和删除操作。要求: ① 写出循环队列的类型定义; ② 写出“从队尾删除”和“从队头插入”的算法。
下一篇:
非空的线性结构中,有且仅有一个元素没有直接前驱。
相关答案
1.
假设以数组Q[m]存放循环队列中的元素, 同时设置一个标志tag,以tag == 0和tag == 1来区别在队头指针(front)和队尾指针(rear)相等时,队列状态为“空”还是“满”。试编写与此结构相应的插入(enqueue)和删除(dlqueue)算法。
2.
设从键盘输入一整数的序列:a1,
3.
回文是指正读反读均相同的字符序列,如“abba”和“abdba”均是回文,但“good”不是回文。试写一个算法判定给定的字符向量是否为回文。(提示:将一半字符入栈)
4.
假设以I和O分别表示入栈和出栈操作。栈的初态和终态均为空,入栈和出栈的操作序列可表示为仅由I和O组成的序列,称可以操作的序列为合法序列,否则称为非法序列。①下面所示的序列中哪些是合法的?
5.
假设以带头结点的循环链表表示队列,并且只设一个指针指向队尾元素站点(注意不设头指针) ,试编写相应的置空队、判队空 、入队和出队等算法。
6.
从键盘上输入一个后缀表达式,试编写算法计算表达式的值。规定:逆波兰表达式的长度不超过一行,以$符作为输入结束,操作数之间用空格分隔,操作符只可能有+、-、*、/四种运算。例如:234 34+2*$。
7.
已知f为单链表的表头指针, 链表中存储的都是整型数据,试写出实现下列运算的递归算法: ① 求链表中的最大整数; ② 求链表的结点个数; ③ 求所有整数的平均值。
8.
串是元素类型为字符型的线性表。
9.
设二维数组a[1.m, 1.n] 含有m*n 个整数。 ① 写一个算法判断a中所有元素是否互不相同?输出相关信息(yes/no); ② 试分析算法的时间复杂度。
10.
写一个算法统计在输入字符串中各个不同字符出现的频度并将结果存入文件(字符串中的合法字符为A-Z这26个字母和0-9这10个数字)。
热门答案
1.
已知模式串t=‘abcaabbabcab’写出用KMP法求得的每个字符对应的next和nextval函数值。
2.
不论是入队列操作还是入栈操作,在顺序存储结构上都需要考虑“溢出”情况。
3.
设目标为t=“abcaabbabcabaacbacba”,模式为p=“abcabaa” ① 计算模式p的naxtval函数值; ② 不写出算法,只画出利用KMP算法进行模式匹配时每一趟的匹配过程。
4.
已知字符串S1中存放一段英文,写出算法format(s1,s2,s3,n),将其按给定的长度n格式化成两端对齐的字符串S2, 其多余的字符送S3。
5.
数组A中,每个元素A[i,j]的长度均为32个二进位,行下标从-1到9,列下标从1到11,从首地址S开始连续存放主存储器中,主存储器字长为16位。求: ① 存放该数组所需多少单元? ② 存放数组第4列所有元素至少需多少单元? ③ 数组按行存放时,元素A[7,4]的起始地址是多少? ④ 数组按列存放时,元素A[4,7]的起始地址是多少?
6.
编写算法,实现下面函数的功能。函数void insert(char*s,char*t,int pos)将字符串t插入到字符串s中,插入位置为pos。假设分配给字符串s的空间足够让字符串t插入。(说明:不得使用任何库函数)
7.
求任意二叉树中第一条最长的路径长度,并输出此路径上各结点的值。
8.
写一个递归算法来实现字符串逆序存储,要求不另设串存储空间。
9.
二维数组S,行下标i从0到7,列下标j从0 到9,每个元素占3个字节,若从首地址S开始以列序为主序将元素连续存放在存储器内,则元素S [4][7]的起始地址为()。
10.
交换二叉树每个结点的左孩子和右孩子。