当前位置:网站首页 > Java基础 > 正文

java基础-栈_java基础知识点整理

小伙伴们,你们好呀!我是老寇!

栈是一种特殊的线性表,并且只能一端进行插入和删除操作

本文采用链表来创建栈

1.创建一个节点的类

package cn.itcast.com.istack; public class Node { public Object data; public Node next; public Node(Object data) { this(data,null); } public Node() { this(null,null); } public Node(Object data,Node next) { this.data=data; this.next=next; } } 

2.创建接口

package cn.itcast.com.istack; public interface IStack { public void clear();//将栈置空 public boolean isEmpty();//判断为空 public void push(Object x);//压入栈 public Object pop();//移出栈顶 public Object peek();//查看栈顶 public void display();//打印 public int length();//长度 } 

3.实现接口

package cn.itcast.com.istack; /* * 尾插法 * / public class LinkStack implements IStack{ public Node top; @Override public void clear() { top=null; } @Override public boolean isEmpty() { return top==null; } @Override public void push(Object x) { Node p=new Node(x); p.next=top; top=p; } @Override public Object pop() { if(!isEmpty()) { Node p=top; top=top.next; return p.data; }else { return null; } } @Override public Object peek() { if(!isEmpty()) { return top.data; }else { return null; } } @Override public void display() { Node p=top; while(p!=null) { System.out.print(p.data.toString()+" "); p=p.next; } System.out.println(); } @Override public int length() { Node p=top; int length=0; while(p!=null) { length++; p=p.next; } return length; } public static void main(String[] args) { System.out.println("栈中各元素为(栈顶到栈底):"); LinkStack S=new LinkStack(); for(int i=1;i<=10;i++) { S.push(i); } S.display(); if(!S.isEmpty()) { System.out.println("栈非空!"); } System.out.println("栈的长度为:" +S.length()); System.out.println("栈顶元素为:"+S.peek()); System.out.println("去除栈顶元素后,栈中各元素为(栈顶到栈底):"); S.pop(); S.display(); System.out.println("去除栈中剩余的所有元素! 进行中。。。"); S.clear(); if(S.isEmpty()) { System.out.println("栈为空!"); } } } 

4.运行结果

到此这篇java基础-栈_java基础知识点整理的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • Java基础(冒泡排序)_java冒泡排序详解2024-10-30 16:42:37
  • Java基础知识总结(绝对经典)_java基础知识总结 超详细2024-10-30 16:42:37
  • Java学习路线(完整详细版)超详细_java自学路线图2024-10-30 16:42:37
  • Java基础3——第一个Java程序_Java基础3——第一个Java程序2024-10-30 16:42:37
  • java基础详细讲解_java基础讲解视频2024-10-30 16:42:37
  • java基础知识点_java基础知识点总结2024-10-30 16:42:37
  • Java 程序员全面成长计划_java 程序员全面成长计划怎么写2024-10-30 16:42:37
  • 《Java基础入门第2版》--黑马程序员 课后答案及其详解 第1章 Java开发入门_《Java基础入门第2版》--黑马程序员 课后答案及其详解 第1章 Java开发入门2024-10-30 16:42:37
  • Java基础之—反射(非常重要)_java中反射有什么用2024-10-30 16:42:37
  • 【Java基础知识 2】配置java环境变量_java怎样配置环境变量2024-10-30 16:42:37
  • 全屏图片