一:定义
①队列:队列是一种操作受限的线性表,其仅允许在表的一端进行插入,在表的另一端删除,其中删除的一端是表头,插入的一端是表尾,向队列中插入新元素为入队,向队列中删除元素为出队,队列是一种先进先出表。
②元素入队(插入)操作是先将队尾指针加1,然后将插入的元素放在队尾处;出队(删除)操作是先将队头指针加1,然后取出队头处的元素;也就是说无论是插入操作还是删除操作,都是指针先加1,然后在操作元素;实际上:队尾指针总是指向当前队列中队尾的元素,而队头指针总是指向当前队列中队头元素的前一个位置。
③队空的条件:font==rear 队满的条件:rear=MaxSize-1
二:队列的顺序存储结构
- typedef struct Queue
- {
- int data[MaxSize]; //存放队中元素
- int font; // 队首指针 实际是队首元素的数组下标
- int rear; // 队尾指针 实际是队尾元素的数组下标
- }Queue,*pQueue;
三:顺序存储结构的基本运算
①初始化队列
②销毁队列
③判断队列是否为空
④进队列(插入数据)
⑤出队列(删除数据)
代码示例:
解密后QQ号为:615947283
四、环形队中实现队列的基本运算