`
qq_24665727
  • 浏览: 119152 次
  • 性别: 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)和检查...

    数组模拟栈

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

    数组顺序栈.rar

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

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

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

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

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

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

    数据结构的定义 数据结构是计算机存储、组织数据的方式,用于高效地访问和修改数据。...Java提供了丰富的数据结构库,包括数组、链表、栈、队列等,这些数据结构为程序员提供了处理各种问题的工具和方法。

    用数组和链表实现栈.zip

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

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

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

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

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

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

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

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

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

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

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

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

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

    C++ 实现栈操作的算法

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

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

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

    约瑟夫环问题(数组实现,链表实现

    数组实现的优势在于随机访问效率高,但缺点是空间利用率不高,因为数组大小通常需要预先设定且固定不变。 接下来,我们转向链表实现。链表是非线性数据结构,由一系列节点组成,每个节点包含数据和指向下一个节点的...

    C++实现N栈共享堆栈,数组

    - `stack.cpp`:实现栈结构体和栈管理器类的成员函数。 - `build.cpp`:可能包含用于测试和构建共享堆栈实例的代码。 - `main.cpp`:主程序,调用栈管理器来创建和操作栈,并进行测试。 - `stack.h`:声明栈...

    栈的使用——可以对栈做各种栈的操作

    在本项目“栈的使用——可以对栈做各种栈的操作”中,我们将探讨如何利用一维数组来实现基本的栈操作,并分析其局限性。 1. **栈的基本操作**: - **压栈(Push)**:当向栈中添加元素时,新元素会被放置在栈顶,...

    利用栈实现括号匹配的检验

    利用栈实现括号匹配的检验,存储括号字符的数组通过malloc实现动态分配长度,匹配函数的第一个参数为指向字符的指针(即为存储括号字符的数组的首地址)和一个整数(即为括号字符的总数,为括号个数的2倍),将左...

Global site tag (gtag.js) - Google Analytics