队列的运用:通过队列的插入和删除等基本操作,使读者对队列的结构和其如何实现有个清晰的概念。
队列的基本操作函数:置空队列函数SetNull(),判断队列是否为空函数Empty(),入排操作函数EnQueue(), 出排操作函数DelQueue(),在主程序中程序对其进行简单的调用,并显示调用效果,给读者一个更加直观的概念。
队列是一种信息的线性列表,以先进先出的顺序访问。首先进队列的信息最先出队,第二进队的信息随后出队,依次类推。这是队列中存取的唯一方法,不许对其随机访问。
队列可利用数组向量q[Max]存储,队列所容许的最大容量是Max,为了指示排头和排尾,需要引入两个指针:front一用于指向实际排头元素前一个位置;rear一用于指向实际排尾元素所在位置。由于front和rear是位置对应向量的下标,所以在进行具体的程序设计时,这两个变量应定义整型变量,而不是指针变量。由front和rear的定义易得,当这两个指针相等时,队列为空。如果有n个数据入排,则尾指针rear的值自加n,如果有m个数据出排,那么让头指针front的值自加m。如果front或者rear的值达到队列的最大容量Max,若rear为Max,如果此时有一个数据再次入排,则让rear翻转为0.在向量结构上采用这种方法存储的队列成为循环队列,
总结:入排时,当rear加1后rear = front,则为满排,也就是队列已经装满,而在出排时,让front加1后,如果front = rear,则表示队列已经排空。 |