《数据结构(C++)》学习辅导系列:栈和队列

《数据结构(C++)》学习辅导系列:栈和队列,第1张

《数据结构(C++)》学习辅导系列:栈和队列,第2张

栈和队列是操作受限的线性表,好像每本讲数据结构的数都是这么说的。有些书按照这个思路给出了定义和实现;但是很遗憾,这本书没有这样做,所以,原书中的做法是重复建设,这或许可以用不是一个人写的这样的理由来开脱。
  顺序表示的栈和队列,必须预先分配空间,并且空间大小受限,使用起来限制比较多。而且,由于限定存取位置,顺序表示的随机存取的优点就没有了,所以,链式结构应该是首选。
  栈的定义和实现
  #ifndef stack_h
  #define stack_h
  #include "list.h"
  template class stack : list//栈类定义
  {
  public:
   void push(type value)
   {
   insert(value);
   }   
   type pop()
   {
   type p = *getnext();
   removeafter();
   return p;
   }
   type gettop()
   {
   return *getnext();
   }
   list ::makeempty;
   list ::isempty;
  };
  #endif
  队列的定义和实现
  #ifndef queue_h
  #define queue_h
  #include "list.h"
  template class queue : list//队列定义
  {
  public:
   void enqueue(const type &value)
   {
   lastinsert(value);
   }  
   type dequeue()
   {
   type p = *getnext();
   removeafter();
   isempty();
   return p;
   }   
   type getfront()
   {

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 《数据结构(C++)》学习辅导系列:栈和队列

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情