队列--两个栈实现

单纯的用线性表或者单链表实现队列已经不足为奇,现在给大家介绍个有特色的,用两个栈实现队列。

 如图

   队列--两个栈实现_第1张图片

这里介绍队列的常用操作:

l 创建队列

l 销毁队列

l 清空队列

l 入队

l 出队

l 返回队首元素

l 返回队的大小

代码总分为三个文件:

SQueue.h : 放置功能函数的声明,以及表的声明 

SQueue.c : 放置功能函数的定义,以及表的定义

Main.c     : 主函数,使用功能函数完成各种需求,一般用作测试

整体结构图为:

队列--两个栈实现_第2张图片

这里详细说下入队操作,出队操作和返回队首元素操作:

 

入队操作:

如图:

  队列--两个栈实现_第3张图片

出队操作:

如图:

 队列--两个栈实现_第4张图片

返回队首元素:

如图:

         队列--两个栈实现_第5张图片

你可能感兴趣的:(队列--两个栈实现)