• 线性结构(二)--- 栈


     栈: 先进后出
      拿出数据后位置置空(栈长度减1)

    1
    public class MyStack { 2 3 //栈的底层我们使用数组来存储数据 4 int[] elements; 5 6 7 public MyStack() { 8 elements=new int[0]; 9 } 10 11 //压入元素 12 public void push(int element){ 13 //创建一个新的数组 14 int[] newarr=new int[elements.length+1]; 15 //把原数组中的元素赋值到新数组中 16 for(int i=0;i<elements.length;i++){ 17 newarr[i]=elements[i]; 18 } 19 //把添加的元素放入新数组中 20 newarr[elements.length]=element; 21 //使用新数组替换旧数组 22 elements=newarr; 23 } 24 //取出栈顶元素 25 public int pop(){ 26 if(elements.length==0){ 27 throw new RuntimeException("stack is empty"); 28 } 29 //取出数组最后一个元素 30 int u=elements[elements.length-1]; 31 //创建一个新的数组 32 int[] newarr=new int[elements.length-1]; 33 //原数组中除了最后一个元素的其他元素都放入新的数组中 34 for(int i=0;i<newarr.length;i++){ 35 newarr[i]=elements[i]; 36 } 37 //替换数组 38 elements=newarr; 39 //返回栈顶元素 40 return u; 41 } 42 //查看栈顶元素 43 public int peek(){ 44 if(elements.length==0){ 45 throw new RuntimeException("stack is empty"); 46 } 47 return elements[elements.length-1]; 48 } 49 //判断栈是否为空 50 public boolean isEmty(){ 51 return elements.length==0; 52 } 53 54 }
    好好学习,天天向上。 努力工作,给自己的和家人一个满意的答案。。。。
  • 相关阅读:
    ADO.NET批量插入数据方法比较
    Thread was being aborted 分析与解决
    第三方刻录软件介绍
    ASP.NET登陆SQL Server数据库
    word 2010页眉页码从第三页开始设置
    误删除、误格式化后的灾难恢复方案
    Asp.Net4.0新特性概述
    ArcGIS Server的切图原理深入
    ArcGIS的缓存技术
    ArcGIS Server操作Mxd文件详细讲解
  • 原文地址:https://www.cnblogs.com/axu521/p/9963161.html
Copyright © 2020-2023  润新知