一、队列的定义
队列是一种线性数据结构,具有先进先出(FIFO)的特性。它可以理解为排队的队伍,先到先得,后到后得。队列有两个基本操作:入队(enqueue)和出队(dequeue)。入队在队列的末尾插入新元素,出队则是从队列的头部移除元素。这种数据结构常用于需要按照顺序处理任务的场景,比如打印任务队列、消息传递等。
二、队列顺序存储的缺陷
队列顺序存储的不足主要包括两个方面:
一是插入和删除操作需要移动大量元素,效率较低;
例如:队列元素的出列是在队头,即下标为0的位置,那也就意味着, 队列中的所有元素都得向前移动,以保证队列的队头,也就是下标为0的位置不为 空,此时时间复杂度为0(n),
如果不移动队尾元素,删除后队头向后移动,就会导致,之前申请的空间存在浪费,例如下标0空间就不能使用了。