1.若一个栈的输入序列为1,2,3,…,n,输出序列的第一个元素是i,则第j个输出元素是_____。
选项ABCD均错误,第j个输出元素应为i-j+1。
栈是一种先进后出的数据结构,也就是说如果入栈顺序为123,那么出栈顺序则为321。
题目中栈的输入序列为1,2,3,...,n,该序列是等差为1的递增序列,那么出栈顺序应该为n,n-1...,3,2,1,也就是等差为1的递减序列。那么当输出序列的第一个元素为i时,利用等差数列公式an=a1+(n-1)*d可知,第j个元素应为aj=i+(j-1)*(-1)=i-j+1。
2.一个栈的输入序列为1,2,3,4,5,则下列序列不可能是栈的输出序列的是?
A.23415 B.54132 C.23145 D.15432
不可能序列是B,因为5最后进栈,此时栈中从栈顶到栈底的5,4,3,2,1,因此不可能出栈为54132
那其他三项为什么可能啊?
A 1进 2进 2出 3进 3出 4进 4出 1出 5进 5出 C 1进 2进 2出 3进 3出 1出 4进 4出 5进 5出 D 1进 1出 2进 3进 4进 5进 5出 4出 3出 2出
3.所谓“循环队列”是指用单向循环链表或者循环数组表示的队列 f
错误,循环队列指的是后者,用数组表示的队列,利用求余数运算使得头尾相接
4.在用数组表示的循环队列中,front值一定小于等于rear值F
rear后裔
5.从一个栈顶指针为HS的链栈中删除一个结点时,用X保存被删结点的值,则执行?
HS是一个指针,但是在D中却把一个数赋值给了HS,HS = HS->data;那HS就不再指向