题目
为解决计算机主机与打印机间速度不匹配问题,通常设一个打印数据缓冲区。主机将要输出的数据依次写入该缓冲区,而打印机则依次从该缓冲区中取出数据。该缓冲区的逻辑结构应该是( )。A. 队列B. 栈C. 线性表[1]D. 有序表[2]
为解决计算机主机与打印机间速度不匹配问题,通常设一个打印数据缓冲区。主机将要输出的数据依次写入该缓冲区,而打印机则依次从该缓冲区中取出数据。该缓冲区的逻辑结构应该是( )。
A. 队列
B. 栈
C. 线性表[1]
D. 有序表[2]
题目解答
答案
A. 队列
解析
考查要点:本题主要考查数据结构中队列的应用场景,需要理解不同逻辑结构的特点及其适用情况。
解题核心思路:
主机和打印机的速度差异需要通过先进先出(FIFO)的机制来协调。主机写入数据的顺序必须与打印机读取数据的顺序一致,才能保证输出正确。此时,队列的特性(只能从队尾入队、队首出队)能够完美匹配这一需求。
破题关键点:
- 队列用于处理有序但需按到达顺序处理的任务(如打印任务、进程调度)。
- 栈(先进后出)会导致数据顺序颠倒,线性表/有序表不涉及固定顺序的输入输出控制,均不符合题意。
选项分析
A. 队列
队列遵循先进先出原则。主机将数据依次写入队尾,打印机从队首依次取出数据。这种机制能确保数据处理顺序与输入顺序一致,有效解决速度不匹配问题。
B. 栈
栈遵循先进后出原则。若采用栈结构,打印机取出的数据会是最近写入的,导致输出顺序与输入顺序完全颠倒,无法保证正确性。
C. 线性表
线性表是随机访问结构,允许任意位置插入或删除元素。但题目要求严格按顺序处理数据,线性表无法天然保证先进先出的顺序。
D. 有序表
有序表需按特定规则排序数据,而题目中数据的处理顺序应严格遵循输入顺序,无需排序操作。