当前所在位置:珠峰网资料 >> 计算机 >> 软件水平 >> 正文
初级软考资料:栈和队列
发布时间:2010/3/27 9:24:42 来源:城市学习网 编辑:admin

  栈和队列
  栈和队列是操作受限的线性表,好像每本讲数据结构的数都是这么说的。有些书按照这个思路给出了定义和实现;但是很遗憾,这本书没有这样做,所以,原书中的做法是重复建设,这或许可以用不是一个人写的这样的理由来开脱。
  顺序表示的栈和队列,必须预先分配空间,并且空间大小受限,使用起来限制比较多。而且,由于限定存取位置,顺序表示的随机存取的优点就没有了,所以,链式结构应该是首选。
  栈的定义和实现
  #ifndefstack_h
  #definestack_h
  #include"list.h"
  templateclassstack:list//栈类定义
  typepop
  typegettop
  list::makeempty;
  list::isempty;
  };
  #endif
  队列的定义和实现
  #ifndefqueue_h
  #definequeue_h
  #include"list.h"
  templateclassqueue:list//队列定义
  typedequeue
  typegetfront
  {
  returngetnext;
  }
  list::makeempty;
  list::isempty;
  };
  #endif
  测试程序
  #ifndefstacktest_h
  #definestacktest_h
  #include"stack.h"
  voidstacktest_int
  #endif
  #ifndefqueuetest_h
  #definequeuetest_h
  #include"queue.h"
  voidqueuetest_int
  #endif
  【后记】没什么好说的,你可以清楚的看到,在单链表的基础上,栈和队列的实现是如此的简单,这也是我对于原书重复建设不满的最大原因。

广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved