`
qq_24665727
  • 浏览: 121367 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

利用数组实现栈的操作

阅读更多
public class MyStack {
	private static  int length=10;
	private  String[] i=new String[length];
	private int count=0;
	public static void main(String[] args) {
	 		MyStack mystack=new MyStack();
		mystack.push("a");
		mystack.push("b");
		mystack.push("c");
		mystack.push("d");
		mystack.push("e");
		mystack.push("f");
		mystack.push("g");
		System.out.println("添加数据成功");
		
		System.out.println("输出栈内所有数据。。。");
		mystack.pop();
		System.out.println("输出完毕。。。");
	
		System.out.println("");
		System.out.println("栈的长度为:");
		int l=mystack.getsize();
		System.out.println(l);
		
		System.out.println("查看栈顶元素。");
		mystack.peek();
		
		
		
		
}
	//压入栈
		void push(String e) {
		 for(int j=0;j<i.length;j++){
			 if(i[j]==null){
				i[j]=e;
				break;
			 }
		 }	
			
		}
		//弹出栈
		void pop(){
			for(int j=i.length-1;j>=0;j--){
				if(i[j]!=null){
				 System.out.println(i[j]);
				}
			}
			
		}
		//栈长度
		int  getsize(){
			for(int j=i.length-1;j>=0;j--){
				if(i[j]!=null){
				 count++;
				}
			}
			int l=count;
			count=0;
			return l;
			
		}
		//查看栈顶数据
		void  peek(){
			for(int j=i.length-1;j>=0;j--){
				if(i[j]!=null){
				 System.out.println(i[j]);
				 break;
				}
			}
						
		}
	

}


 

分享到:
评论

相关推荐

    利用数组实现双端栈,插入,删除

    这些函数会利用数组实现上述逻辑,通过动态地调整栈顶指针并更新数组中的元素来完成操作。 使用双端栈的优势在于它的灵活性。在某些场景下,如需要频繁地在栈的两端进行插入和删除操作,双端栈可以提供更高的效率,...

    数组模拟栈.rar

    在本资源“数组模拟栈.rar”中,包含的代码是用C语言实现的,它允许我们理解如何利用数组来创建一个功能完备的栈。 栈是一种线性数据结构,它的主要操作包括压栈(Push)、弹栈(Pop)、查看栈顶元素(Peek)和检查...

    Java数据结构篇-链表与数组实现栈.pptx.pptx

    2. 数组实现栈: - **数组栈定义**:数组栈是基于固定大小数组的栈,通过调整数组下标来模拟栈顶元素的增加和减少。 - **数组栈操作**:数组栈的入栈是在数组的末尾添加元素,而出栈则是从数组末尾移除元素,同时...

    数组模拟栈

    对于上述结构体,我们可以编写相应的函数来实现栈操作: ```c // 初始化栈 Stack* createStack(int capacity) { Stack* stack = (Stack*)malloc(sizeof(Stack)); stack-&gt;array = (int*)malloc(capacity * sizeof...

    数组顺序栈.rar

    数组顺序栈是计算机科学中数据结构的基础概念,它是一种基于数组实现的栈数据结构。栈是一种后进先出(LIFO)的数据结构,通常用于执行递归操作、内存管理、表达式求值等任务。在数组顺序栈中,元素的添加(压栈)和...

    利用数组实现栈(Java实现)

    利用数组实现栈(Java实现) 本资源通过使用Java语言,详细介绍了如何利用数组实现栈的数据结构。栈是一种特殊的线性表,限制了元素的插入和删除只能在线性表中同一端进行。栈有栈顶和栈底两个端,栈顶是变化的一端...

    使用一个数组实现三个栈的数据结构

    本话题聚焦于使用一个数组实现三个栈的数据结构。这样的设计旨在优化内存使用,提高效率,并允许在数组未满的情况下,任意一个栈都可以持续进行push操作。 首先,让我们理解栈的基本概念。栈是一种线性数据结构,...

    用数组和链表实现栈.zip

    - 数组实现栈在空间利用率和访问速度上有优势,但如果预估不准元素数量,可能需要频繁扩容,导致性能下降。 - 链表实现栈在动态调整容量和插入删除效率上有优势,但需要额外的指针空间,且访问元素不如数组直接。 ...

    用数组栈实现表达式求值(数据结构)(自制)

    总结来说,这个项目旨在利用数组栈实现表达式求值,涉及到的主要知识点包括数据结构中的数组栈、表达式转换以及后缀表达式计算。虽然这个实现可能不完美,但它提供了一个学习和理解这些概念的基础平台。

    易语言数组实现环形队列、栈等

    在易语言中,使用数组实现栈非常直观,只需要一个变量来记录栈顶位置即可。当元素压栈时,栈顶位置加一并将新元素存入对应数组位置;当元素弹栈时,栈顶位置减一并返回该位置的元素。栈在递归、函数调用、表达式求值...

    用数组实现后缀表达式的算法

    根据给定的信息,本文将详细解释如何在C语言中利用数组来实现后缀表达式的算法。后缀表达式,也称为逆波兰表示法(Reverse Polish Notation, RPN),是一种无需括号即可明确指定运算顺序的数学表达式形式。本文会...

    链表-使用Python基于链表实现数组栈.zip

    在Python中,我们可以直接使用列表来实现栈,但由于列表内部实现为动态数组,对于频繁的尾部操作(如push和pop),效率可能不如专门的链表实现。因此,题目中提到的“链表-使用Python基于链表实现数组栈”就是将栈的...

    C语言数组-C语言实现使用动态数组来构建栈结构.zip

    以上就是用C语言的动态数组实现栈结构的基本过程。通过这种方式,我们可以在运行时灵活地管理内存,适应不同的数据需求,从而实现高效的栈操作。在实际编程中,还可以考虑添加错误处理和边界条件检查,以增强代码的...

    数组栈的实现(Go)

    这个数组栈的实现充分利用了Go语言的切片特性,提供了灵活且高效的栈操作。不过,需要注意的是,如果栈的大小超过预先分配的空间,`append`操作会引发切片的动态扩容,这可能会影响性能。为了优化,可以考虑在`Push`...

    数组实现线性表-VS2015.zip_数组实现线性表格

    5. **优点与局限**:数组实现的线性表优点在于访问速度快,内存利用率高。然而,它的局限性在于插入和删除操作(尤其是中间位置)效率低,且在内存大小确定后无法灵活调整。 6. **其他实现方式**:除了数组,线性表...

    用c++编写的程序数组栈算法

    在给定的代码片段中,我们可以看到一种使用数组实现栈的C++程序设计方法。这种方法利用了一个固定大小的数组`stack`来存储栈中的元素,并使用两个整型变量`top[2]`来追踪栈顶的位置。这里的`top`数组实际上用于管理...

    数据结构中的栈之静态数组

    当用静态数组来实现栈时,我们通常会预先定义一个足够大的数组,然后利用数组的索引来表示栈顶位置。这样的实现方式简单且效率高,但存在一定的局限性,即栈的容量在创建时就需要确定,一旦满额就不能再添加元素,...

    C++ 实现栈操作的算法

    在编程领域,栈是一种非常重要的数据结构...以上就是关于C++实现栈操作的基本知识,包括初始化、判断栈空、入栈、出栈和取栈顶元素的函数。理解并掌握这些概念和操作,将有助于你在编程实践中灵活运用栈这一数据结构。

    队列的链表与数组分别实现

    数组实现队列的优势在于访问速度快,因为数组是连续存储的,可以通过下标直接访问元素。但数组的大小是固定的,所以在创建时需要预先确定容量,如果预设容量不足,可能需要重新分配内存,这会带来一定的性能开销。 ...

    JavaScript基于数组实现的栈与队列操作示例

    首先,我们来看如何使用JavaScript中的数组实现栈。栈是一种简单的数据结构,它有两个基本操作:push(入栈)和pop(出栈)。在JavaScript中,push操作可以直接使用数组的push方法向数组的末尾添加元素,而pop操作则...

Global site tag (gtag.js) - Google Analytics