`
bjnick
  • 浏览: 17156 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

MyStack

    博客分类:
  • java
 
阅读更多

复习栈,用数组实现的栈及测试:

package com.test.data_struct;

public class MyStack {

	private int maxSize;
	private int[] stackArray;
	private int top;
	
	public MyStack(int max){
		maxSize=max;
		stackArray=new int[maxSize];
		top=-1;
	}
	
	public int pop(){
		return stackArray[top--];
	}
	
	public void push(int n){
		stackArray[++top]=n;
	}
	
	public int peek(){
		return stackArray[top];
	}
	
	public boolean isEmpty(){
		return top==-1;
	}
	
	public boolean isFull(){
		return top==maxSize-1;
	}
	

}

 

package com.test.data_struct;

import com.test.data_struct.*;

public class MyStackTest {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		MyStack ms1=new MyStack(3);
		
		int n=1;
		
		while(!ms1.isFull())
			ms1.push(n++);
		
		System.out.println(ms1.peek());
		
		while(!ms1.isEmpty())
			System.out.println(ms1.pop());

	}
}

 

分享到:
评论

相关推荐

    MyStack c#实现栈类

    本文将详细讲解如何使用C#实现一个名为`MyStack`的栈类,以及它所包含的关键知识点。 首先,我们需要创建一个新的C#类,命名为`MyStack`。这个类通常会继承自`System.Collections.Generic.Stack<T>`基类,以利用其...

    MyStack 一个堆栈的模板类

    《MyStack:自定义堆栈模板类的实现与应用》 在编程中,堆栈(Stack)是一种常用的数据结构,遵循“后进先出”(Last In First Out, LIFO)的原则,常用于解决递归、函数调用、内存管理等问题。在C++中,我们可以...

    mystack.zip

    本项目"mystack.zip"提供了一个使用C++模板类实现的栈——MyStack,旨在帮助开发者更好地理解和运用栈的基本操作。以下是对这个实现的详细解析: 首先,C++模板类是C++中的一种泛型编程工具,它允许我们定义一个...

    MyStack.java

    MyStack.java

    xml解析例子Dom,DOM4J,SAX Stack mystack = new Stack();

    String s = mystack.peek().toString(); System.out.println("栈顶对象为"+s+"\t"+"当前栈区大小为"+mystack.size()); if (s.equals("name")) { name = new String(c, start, end); emp.setName(name...

    U10316025_HW4_11_10:重写 Mystack 类以逆序打印字符串

    在本任务中,我们面临的是一个Java编程作业,要求重写一个名为`Mystack`的类,以便能够逆序打印字符串。这个作业可能涉及到数据结构、栈操作以及字符串处理等核心概念。首先,让我们深入理解栈(Stack)数据结构及其...

    U10316013_HW5_15_10:重写 MyStack 类以执行列表字段的深拷贝

    本题目涉及的是在自定义类MyStack中实现列表字段的深拷贝。这通常是为了确保当一个对象被复制时,其内部引用的数据结构(如列表)也能够独立于原对象进行操作,不会因原对象的改变而受到影响。 首先,我们需要理解...

    U10316044_HW5_15_10:(修改MyStack类)重写代码清单11.10中的MyStack类来执行列表字段的深拷贝

    这个任务涉及到了对一个名为`MyStack`的自定义类进行修改,目的是实现其内部列表字段的深拷贝。这通常是为了解决当一个对象被复制时,其内部引用类型的数据也应被完整复制,而不仅仅是引用本身。 首先,我们来理解...

    U10316011_HW5_15_10:重写listing11.10中的myStack类以执行列表字段的深拷贝

    在给定的标题和描述中,任务是重写一个名为`myStack`的类,该类在内部可能使用了一个列表(List)字段,并要求实现这个列表的深拷贝。这通常是为了确保在拷贝后,原对象和新对象的列表元素是独立的,修改其中一个...

    U10316025_HW5_15_10:从列表字段的深层副本重写 MyStack 类

    在这个任务中,我们被要求重写一个名为`MyStack`的类,其内部使用了一个列表字段。关键在于实现“深层副本”功能,这涉及到复制对象时,不仅复制对象本身,还要复制其引用的所有对象,确保原始对象和副本之间的独立...

    MyStack-BaseCpp.rar

    主要涉及栈的设计与栈的应用,栈的后进先出特性使其广泛应用于各种问题解决方案中,这里主要介绍以下5种问题的栈方法解决方案。 1)进制转换; 2)括号匹配; 3)多项式求解; 4)八皇后问题; ...

    U10316024_HW_15_10:类 MyStack 实现 Cloneable 并使用深循环

    在本题目中,我们面临的是一个关于 Java 编程的任务,目标是实现一个名为 `MyStack` 的类,该类需要实现 `Cloneable` 接口,并且支持深拷贝功能。深拷贝是一种复制对象的方式,它不仅复制对象本身,还复制对象引用的...

    javaMyStack源代码

    因为SUN的Stack不是严格意义上的stack,因此需要重写下,是这样的

    java中关于栈的使用

    MyStack<Integer> myStack = new MyArrayStack(); Integer result = num; while (true) { // 将余数入栈 myStack.push(result % n); result = result / n; if (result == 0) { break; } } ...

    C++实现栈数据结构

    MyStack::MyStack(int size) { arr = new int[size]; if (arr == nullptr) { throw std::runtime_error("Memory allocation failed"); } top = -1; capacity = size; } MyStack::~MyStack() { delete[] arr;...

    建立栈和栈的逆置 栈操作

    在`reverseStack`函数中,我们首先将`myStack`中的元素全部移至`tempStack`,然后将`tempStack`的元素回填到`myStack`。运行这段代码,原本为1, 2, 3的栈将会变成3, 2, 1,实现了栈的逆置。 至于提供的`text2.cpp`...

    栈的基本操作c++.docx

    首先,我们创建了一个名为`myStack`的整数类型栈,通过`std::stack<int> myStack;`来实现。`std::stack`是C++标准库中的一个模板类,可以用来存储不同类型的数据,这里我们使用`int`类型作为例子。 接着,进行入栈...

    C++stack介绍及详细使用示例(源代码)

    std::cout 栈顶元素: " << myStack.top() ; } // 移除栈顶元素 myStack.pop(); // 遍历栈并输出内容(注意:通常不推荐这样遍历栈,因为它会破坏栈的结构) while (!myStack.empty()) { std::cout ...

    Java语言程序设计:第七章 泛型.ppt

    这意味着我们可以创建不同类型的栈,例如`MyStack<Circle>`,`MyStack<String>`等,而无需为每种类型重复编写类。 使用泛型还有其他好处,如编译时的类型检查,防止了类型转换异常。当尝试将错误类型的对象放入或...

    栈结构的C++实现

    std::cout 栈未空,当前栈顶元素是:" << myStack.top() ; } return 0; } ``` **二、自定义栈结构** 如果你想要更深入理解栈的工作原理或者需要自定义栈的行为,可以自定义一个栈类。通常,这需要实现两个主要...

Global site tag (gtag.js) - Google Analytics