一:定义

①队列:队列是一种操作受限的线性表,其仅允许在表的一端进行插入,在表的另一端删除,其中删除的一端是表头,插入的一端是表尾,向队列中插入新元素为入队,向队列中删除元素为出队,队列是一种先进先出表。

②元素入队(插入)操作是先将队尾指针加1,然后将插入的元素放在队尾处;出队(删除)操作是先将队头指针加1,然后取出队头处的元素;也就是说无论是插入操作还是删除操作,都是指针先加1,然后在操作元素;实际上:队尾指针总是指向当前队列中队尾的元素,而队头指针总是指向当前队列中队头元素的前一个位置

③队空的条件:font==rear                     队满的条件:rear=MaxSize-1

二:队列的顺序存储结构

  1. typedef struct Queue
  2. {
  3.   int  data[MaxSize];             //存放队中元素
  4.   int font;                              //  队首指针  实际是队首元素的数组下标  
  5.   int rear;                             //  队尾指针  实际是队尾元素的数组下标  
  6. }Queue,*pQueue;

三:顺序存储结构的基本运算

 ①初始化队列

②销毁队列

③判断队列是否为空

④进队列(插入数据)

⑤出队列(删除数据)

代码示例:

 

 【数据结构栈和队列】之十队列顺序存储结构

 解密后QQ号为:615947283

 【数据结构栈和队列】之十队列顺序存储结构

【数据结构栈和队列】之十队列顺序存储结构【数据结构栈和队列】之十队列顺序存储结构【数据结构栈和队列】之十队列顺序存储结构

 四、环形队中实现队列的基本运算

 

相关文章: