下载此文档

Java基础复习笔记05数据结构-栈.doc


文档分类:IT计算机 | 页数:约9页 举报非法文档有奖
1/9
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/9 下载此文档
文档列表 文档介绍
Java基础复****笔记05数据结构-栈刘岩Email:suhuanzheng7784877@栈栈是一种比较特殊的线性表,它的原则就是先进后出,后进先出。你就把他想做一个你放书的大箱子,要想看放在最底层的书(压箱底的),那么得先拿出来上面的所有书之后那本最底层的书才能取到。同样栈也是这个意思。栈的操作栈的操作比线性表的操作要少一些,这也可以看出来栈结构实际上就是在线性表的基础上加了一些不能进行的操作才叫做栈。栈的操作有:入栈、出栈、访问栈顶元素、清空栈。栈的使用场景展示一个比较有用的结构,比如做语法分析、递归、支持撤消都可以使用栈来实现。栈的顺序实现栈的顺序实现和线性表的顺序实现差不多,都是用一个数组来进行数据的存取。;/***栈的顺序实现****@authorliuyan****@param<E>*/lassMyArrayStack<E>{ //临时数组 privateObject[]objects; //默认临时数组的初始大小 privatefinalstaticintDef_Size=16; //记录实实在在的元素个数 privateintelementSize; publicMyArrayStack(){ objects=newObject[Def_Size]; } /** *栈顶添加元素 ****@parame */ publicvoidpush(Ee){ if(elementSize==0){ objects[0]=e; elementSize++; return; } for(inti=0;i<;i++){ if(objects[i]==null){ objects[i]=e; elementSize++; break; } } } /** *从栈顶出元素,删除栈顶元素 * ****@return */ publicEpop(){ if(isEmpty()){ thrownewRuntimeException("栈已经空"); } ElastElement=(E)objects[elementSize-1]; objects[elementSize-1]=null; elementSize--; returnlastElement; } /** *从栈顶出元素,不删除栈顶元素 * ****@return */ publicEpeek(){ if(isEmpty()){ thrownewRuntimeException("栈已经空"); } ElastElement=(E)objects[-1]; returnlastElement; } /** *栈空间大小 ****@return */ publicintgetSize(){ returnelementSize; } /** *栈是否为空 ****@return */ publicbooleanisEmpty(){ returnelementSize==0; } /** *清空所有元素 */ publicvoidclear(){ for(inti=0;i<elementSize;i++){ objects[i]=0; } elementSize=0; } ***@Override publicStringtoString(){

Java基础复习笔记05数据结构-栈 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数9
  • 收藏数0 收藏
  • 顶次数0
  • 上传人q1188830
  • 文件大小51 KB
  • 时间2019-12-13