2-5 线性表 练习题

1.某队列允许在其两端进行入队操作,但仅允许在一端进行出队操作,若元素a,b,c,d,e依次入队列后,再进行出队操作,则不可能得到的顺序是( C )。                                          

A. bacde                B. dbace              C. dbcae                D. ecbad

a选项:b a c d e☞左入a,右入b,左入c,左入d,左入e。出队端为右端(或者整个完全相反也可以。)

b选项:d b a c e☞左入a,右入b,左入c,右入d,左入e。出队端为右端(或者整个完全相反也可以。)

d选项:e c b a d☞左入a,左入b,左入c,右入d,左入e。出队端为左端(或者整个完全相反也可以。

但是C选项中出队顺序是d,b,c,a,e从左出队,从左右入队,那么a入右,b入左,c不可能在a和b的中间,因此C选项的出队顺序是错误的 ,不管怎样ab是挨在一起出队的

                                           
1、栈的特点是(  后进先出   ),队列的特点是( 先进先出    )。
2、线性表、栈和队列都是( 线性  )结构,线性表可以在( 任意位置 )

      位置插入和删除元素,栈只能在( 表尾  )插入和删除元素,

      队列只能在( 队尾  )插入元素和( 队头  )删除元素。
3、设栈 S 和队列 Q 的初始状态皆为空,元素a1, a2, a3, a4, a5和 a6 依次通过一个栈,一个元素出栈后即进入队列 Q,若6 个元素出队列的顺序是 a3, a5, a4, a6, a2, a1 则栈 S 至少应该容纳 ( B  ) 个元素。

     (A)3        (B)4        (C)5          (D)6

4、若队列的入队序列是 1, 2, 3, 4,则出队序列是(B)。

扫描二维码关注公众号,回复: 5837754 查看本文章

(A)4,3,2,1(B)1,2,3,4(C)1,4,3,2(D)3,2,4,1

课堂练习
1、循环队列用数组 A[0, m-1] 存放其元素值,已知其头尾指针分别是 front 和rear ,则当前队列中的元素个数是(A)。

  1.  (rear-front+m)%m               (B)  rear-front+1
  2.  rear-front-1                   (D)  rear-front

rear尾指针始终指向队列的下一位置,每当插入元素师尾指针加1,删除队列的头元素时,头指针曾一,如果不是循环对列当前队列中的元素个数是rear-front;循环队列就像始终一样比如现在front指向6点,rear指向12点,现在元素个数是6个,当再插入时rear就指向了1点当前元素个数就是((1-6)+12)%12=7还不明白就看看有模运算

 

2、以数组 Q[0… m-1] 存放循环队列中的元素,变量 rear和 qulen 分别指示循环队列中队尾元素的实际位置和当前队列中元素的个数,队列第一个元素的实际位置是(C)。  
      (A) 1+rear-qulen         (B) rear-qulen+m 
      (C) m-qulen              (D) (1+rear-qulen+m) % m

猜你喜欢

转载自blog.csdn.net/weixin_42202174/article/details/88912760