1. 简介
成都的火车南站早上真的恐怖,地铁站人山人海,从地铁里面一直排队到门口,虽然人很多但是不得不说我国人民素质还是蛮高的,都是来了之后排在队伍的最后面,没有一个人去插队。这样不仅避免了人员拥挤的混乱,也让需要乘坐地铁的人可以尽快乘上地铁。
其实我们的队列就像排队等地铁一样,遵从先来后到,先来的人先上车后来的人后上车,队列则是先插入的数据,先取出去,后来的数据后取出去,先进先出的原则。而且总是从一端进入,另一端出去。
忽略那些排了队然后不想排的和插队的人。
顺序队列结构如下。
队列也是一种线性表,满足前驱后继,同样可以有顺序队列和链式队列,而顺序队列一般可以使用数组进行实现,那么队头就是下标为0,而队尾则是数组的最后一位(length-1),而链式列表可以使用链表,队头就是第一个结点,而队尾则是最后一个结点。
了解了队列的基本知识,下面看一下顺序队列基本实现思路,首先我们要定义两个标识一个是队尾,一个是队首,这两个标识就像两个小旗子,队列最前面和最后面的人都拿着一个旗子,好让别人知道现在的队首和队尾究竟是那一个人,如果新增数据首先知道数组的长度是否足够,如果不够则需要代码实现扩容,如果够则在队尾加入数据,同时将指向队尾的标识(小旗子)现在指向新增数据上,而获取数据时首先拿出数据,同时将旗子交给他的下一个数据。
讲到这儿有同学开始质疑&#x