数据结构(牛小飞)6队列.ppt
其他成员方法012345backfronta1a2a3012345backfronta1a2a3publicvoidmakeEmpty(){back=front=0;currentSize=0;}publicAnyTypegetFront(){if(isEmpty()){……}returntheArray[front];}链表的选用a2a3a2a3单链表La1a1a3LLa1a2以讨论的形式讲解后面链式栈的实现链表的选用a2a3a1La2a3a1L链式队列的逻辑形态队空?front=null,back=null队满?似乎无限…队中数据元素的个数?队头队尾a1a2a3frontback链式队列的实现publicclassSingleLinkedQueueAnyType{privateNodeAnyTypefront,back;//队头、队尾publicvoidmakeEmpty(){front=back=null;currentSize=0;}publicSingleLinkedQueue(){front=back=null;currentSize=0;}publicbooleanisEmpty(){returncurrentSize==0;;}}privateintcurrentSize;publicAnyTypedeQueue()publicvoidenQueue(AnyTypex)循环链式队列的讨论enQueuepublicvoidenQueue(AnyTypex){}Nodep=newNode(x);else{}if(front==null)back.next=p;epa1a2a3frontbackback=p;front=back=p;a1frontback**********队列的定义队列的应用链式队列及基本操作的实现小结复习顺序队列及基本操作的实现123456队列(Queue)复习-栈1、特殊的线性表:插入和删除操作发生在表尾的线性表2、特点:先进后出(LastInFirstOut)3、基本操作:构造函数、push,pop,isEmpty,makeEmpty4、用途:常用的数据结构复习-顺序栈publicclassArrayStackAnyType{privateAnyType[]theArray;privateinttopOfStack;privatestaticfinalintMAXSIZE=10;成员方法:}topOfStacka1a2a3a4栈顶复习-链式栈a2a1栈顶栈底top01a302publicclassSingleLinkedStackAnyType{privateNodeAnyTypetop;