java 利用 LinkedList类实现 数据结构 栈.......

 

/*
java.util.LinkedList 类实现栈操作
栈是个后进先出的线性表

*/
import java.util.*;
class  Test
{
  private LinkedList ll=new LinkedList();   //创建栈  
 
   void push(Object o)
   {
       ll.addFirst(o); // 在前面插入 对象
   }
  
  Object pop()
  {
     return  ll.removeFirst();//删除并且返回第一个元素
   }
 
 boolean  isEmpty()  //判断栈是否为空
  {
   int num=ll.size();
   return num>0?true:false;
  }
 
 void empty()  //清空栈
  {
   int  count=ll.size();
   for(int n=0;n<count;n++)
       ll.remove(n);   
  }
 
 int getCount() //获得栈中元素个数
 {
  return ll.size();
 }
 
 Object peek()  //返回栈中第一个元素 
 {
  return ll.getFirst();
 }
 
 public  static void main(String []args)
 {
  Test t=new Test() ; 
  t.push("one"); //入栈
  t.push("two");
  t.push("three");
  t.push("four");
  int num=t.getCount() ;//获得元素个数
  for(int n=0;n<num;n++)
  {
  System.out.println("出栈前元素个数"+t.getCount());
  System.out.println("弹出元素:"+t.pop());  //出栈
  System.out.println("出栈后元素个数"+t.getCount()+"\n");
   }
 

 }
}

时间: 2024-07-31 13:46:45

java 利用 LinkedList类实现 数据结构 栈.......的相关文章

Java利用File类中rename()移动文件

package cn.com; import java.io.File; //问题描述: 移动文件 //注意: //1 移动后原path下的文件夹将保留 //2 但文件夹下的文件将不会再存在 //3 若是目录则要递归调用该方法 //4 核心是调用File中renameTo()方法 public class FileTest { public static void main(String[] args) { FileTest fileTest=new FileTest(); fileTest.m

数据结构――栈、队列和树(Java)

数据|数据结构 数据结构――栈.队列和树 开发者可以使用数组与链表的变体来建立更为复杂的数据结构.本节探究三种这样的数据结构:栈.队列与树.当给出算法时,出于简练,直接用Java代码. 栈 栈是这样一个数据结构,其数据项的插入和删除(获取)都只能在称为栈顶的一端完成.因为最后插入的数据项就是最先要删除的数据项,开发者往往将栈称为LILO(last-in, first-out)数据结构. 数据项压入(插入)或者弹出(删除或取得)栈顶.图13示例了一个有三个String数据项的栈,每个数据项压入栈顶

利用不相交集类制作迷宫游戏(数据结构课程设计——迷宫老鼠)

之前大一的时候有几天闲来无事,为了学习做了一个可以自动生成迷宫,可以寻找最短路径的小游戏,现在整理分享一下 简单介绍: 利用不相交集类考虑一个迷宫的生成,一个简单算法就是从各处的墙壁开始(除入口和出口之外).此时,不断地随机选择一面墙,如果被该墙分割的单元彼此不联通,那么就把这面墙拆掉.重复这个过程直到开始单元和终止单元联通,那么就得到一个迷宫.实际上不断的拆掉墙壁直到每个单元都可以从其他单元到达更好(这会使迷宫产生更多误导的路径). 整理一下迷宫的生成算法就是: (1)将迷宫初始时看成一个一个

Java:基于LinkedList实现栈和队列

1.提供一组栈的接口,其底层关联到一个LinkedList(双端队列)实例.由于只暴露部分基于栈实现的接口,所以可以提供安全的栈实现. import java.util.LinkedList; public class Stack<T> { private LinkedList<T> storage = new LinkedList<T>(); /** 入栈 */ public void push(T v) { storage.addFirst(v); } /** 出栈

java 利用java反射机制动态加载类的简单实现_java

如下所示: ////////////////// Load.java package org.bromon.reflect; import java.util.ArrayList; import java.util.List; public class Load implements Operator { @Override public List<?> act(List<?> params) { // TODO Auto-generated method stub List<

反射 注解-Java利用反射执行框架注入类的非静态方法

问题描述 Java利用反射执行框架注入类的非静态方法 之前对代码做优化,利用了反射去执行指定类的指定方法: public static JsonResultVO callMethod(Class<?> className String methodName Class<?>[] paramClass Object[] param) { JsonResultVO resultVO = new JsonResultVO(); try { Method m = className.get

Java类集--LinkedList类

LinkedList子类与Queue接口 Queue接口定义的方法 LinkedList中操作链表的部分方法 本身大量的扩充了Queue接口和List接口的操作.所以,在使用时最好直接使用LinkedList类完成操作. 为链表的开头和结尾增加数据. import java.util.LinkedList ; public class LinkedListDemo01{ public static void main(String args[]){ LinkedList<String> lin

java实现利用String类的简单方法读取xml文件中某个标签中的内容_java

1.利用String类提供的indexOf()和substring()快速的获得某个文件中的特定内容 public static void main(String[] args) { // 测试某个词出现的位置 String reqMessage = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>" + "<in>" + "<head&g

java LinkedList类实现 队列

  /* LinkedList 类实现队列 队列 是FIFO  先进先出 FIRST  IN  FIRST OUT      一边进去 另一边出来 LinkedList 底层是采用链表完成 ArrayList底层采用数组完成 对数据的查找操作 用数组更快 */ import java.util.LinkedList; class  MyQueue {  private LinkedList ll=new LinkedList();  void put(Object o)  {   ll.addL