数据结构 栈结构 JAVA
来源:互联网 发布:观澜网络工作怎么样 编辑:程序博客网 时间:2024/05/16 11:31
栈结构的操作简单小实例
元素类
//准备栈中要用到的变量和类 class DATA3 { String names; int ages; }
声明栈
//创建空栈并初始化class StackType { static final int MAXLEN=50; //栈的长度 DATA3[] data=new DATA3[MAXLEN+1]; int top; //初始化栈 StackType STInit(){ StackType p; if ((p=new StackType())!=null) {//申请栈的内存 p.top=0; //设置栈顶为0 return p; //返回指向栈的引用 } return null; //申请失败返回空 } //判断栈是否为空 boolean STIsEmpty(StackType s){ boolean t; t=(s.top==0); return t; } //判断栈是否满 boolean STIsFull(StackType s){ boolean t; t=(s.top==MAXLEN); return t; } //清空栈 void STClear(StackType s){ s.top=0; } //释放栈所占用的空间 void STFree(StackType s){ if (s!=null) { s=null; } } //入栈操作 int PushST(StackType s,DATA3 data){ if ((s.top+1)>MAXLEN) { System.out.print("栈溢出!\n"); return 0; } s.data[++s.top]=data; return 1; } //出栈操作 DATA3 PopST(StackType s){ if (s.top==0) { System.out.print("栈为空!\n"); System.exit(0); } return s.data[s.top--]; } //读栈顶数据 DATA3 PeekST(StackType s){ if (s.top==0) { System.out.printf("栈为空!\n"); System.exit(0); } return s.data[s.top]; } }
测试
import java.util.Scanner;public class Mian { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub StackType st=new StackType(); DATA3 data1=new DATA3(); StackType stack=st.STInit(); Scanner sc=new Scanner(System.in); System.out.println("入栈操作:"); System.out.println("输入姓名,年龄进行入栈操作:"); do { DATA3 data=new DATA3(); data.names=sc.next(); if (data.names.equals("0")) { break; } else { data.ages=sc.nextInt(); st.PushST(stack, data); } } while (true); String temp="1"; System.out.println("按任意非0键进行出栈操作:"); temp=sc.next(); while (!temp.equals("0")) { data1=st.PopST(stack); System.out.printf("出栈的数据是(%s,%d)\n",data1.names,data1.ages); temp=sc.next(); } System.out.println("测试结束"); st.STFree(st); }}片
运行截图
0 0
- 数据结构 栈结构 JAVA
- java数据结构 七 栈(链式储存结构)
- java 数据结构之 顺序存储结构 栈
- java 数据结构之 链式存储结构 栈
- 【数据结构和算法】java实现栈结构
- java数据结构--线性结构
- java图解数据结构--树状结构
- java数据结构 六 栈共享(顺序储存结构)
- 数据结构java版二 自定义结构
- java数据结构-非线性结构之树
- java 数据结构之 顺序存储结构 队列
- java 数据结构之 链式存储结构 队列
- java 数据结构之 顺序存储结构 串
- 数据结构——栈结构
- 《数据结构》3.1双栈结构
- 数据结构-栈--结构体实现
- 数据结构学习笔记--栈结构
- 【数据结构】顺序结构实现栈
- Async/Await替代Promise的6个理由
- TensorFlow简要教程系列(五)TensorFlow实现卷积神经网络(CNN)
- 自己动手写对象池
- AndroidStudio上传代码到GitHub以及上传中遇到的错误解决办法
- 蓝桥杯-基础练习 报时助手
- 数据结构 栈结构 JAVA
- 决心去考研了
- C for ios ---数组内存分析
- Vim配置、插件和使用技巧
- STL中的二分查找算法(binary_search lower_bound upper_bound equal_range)
- 最全UML建模之状态图详解
- memcpy用法
- Python库Requests的基础使用
- CSDN学霸课表——十款开源的数据库管理工具