package com.tw.dst.sq;
/**
*
* <p>栈算法:栈是一种后进先出的方式</p>
* @author tangw 2010-11-26
*/
public class Stack {
//栈数组
long stackArr[];
//栈的大小
int maxSize;
//栈的顶部
int top;
//初始化一个大小为size的栈
public Stack(int size){
maxSize = size;
stackArr = new long[size];
top = -1;
}
//出栈操作
public long pop(){
return stackArr[top--];
}
//进栈操作
public void push(long value){
stackArr[++top] = value;
}
//判断栈是否为空
public boolean isEmpty(){
return top == -1;
}
//判断栈是否已满
public boolean isFull(){
return top == maxSize-1;
}
//取栈顶元素
public long peek(){
return stackArr[top];
}
public static void main(String[] args) {
Stack stack = new Stack(10);
System.out.println("----插入数据----");
while(!stack.isFull()){
long v = (long) (Math.random()*100);
stack.push(v);
System.out.print(v+" ");
}
System.out.println("----取出数据----");
while(!stack.isEmpty()){
long topValue = stack.pop();
System.out.print(topValue+" ");
}
}
}
分享到:
相关推荐
本资源为数据结构与算法第四章(栈和队列)的作业程序代码。包含以下的两个程序: 4.3火车硬软座问题 4.11rear和length表示的循环队列入出队 北工大电控学院《数据结构与算法》课程的其它章节程序实验及作业代码亦已...
10 个数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie 树; 10 个算法:递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法。
全书各章自成体系,可以作为独立的学习单元;算法以英语和伪代码的形式描述,具备初步程序设计经验的人就能看懂;说明和解释力求浅显易懂,不失深度和数学严谨性。 ----------------------------------------------...
<br>实验四 综合(课程设计) 内容及步骤: 1、假定一维数组a[n]中的每个元素值均在[0,200]区间内,用C++编写一个算法,分别统计出落在[0,20],[21,50],[51,80],[81,130],[131,200]等各区间内的元素...
:keycap_2: 习题 1 :是北大张铭《数据结构与算法》教材习题以及对应的《数据结构与算法-学习指导与习题解析》 :keycap_3: 习题 2 :来自王道教材习题 第一章 概述 第二章 线性表 第三章 栈和队列 :green_book: 第...
第一章绪论(4学时) 1.1课程简介 01 1.2raptor流程图 02 1.3python简介及编程 03 1.42019年-学生的特色作品1 04 1.42019年-学生的特色作品2 05 1.52020年-学生特色作品-爬虫,机器学习与神经网络 06 计算机算法与...
基本的栈操作包括入栈出栈等等基本的操作 是链栈是刚学习数据结构不错的程序 希望对大家有帮助
《数据结构》(C语言版)是为“数据结构”课程编写的教材,也可作为学习数据结构及其算法的C程序设计的参考教材。本书的前半部分从抽象数据类型的角度讨论各种基本类型的数据结构及其应用;后半部分主要讨论查找和...
相对来说,每一章都可以作为一个相对独立的单元来教授或学习。书中的算法以英语加伪代码的形式给出,只要有一点程序设计经验的人都能读懂,并可以用任何计算机语言(如C/C++和Java等)方便地实现。在书中,作者将算法...
本文非常适合需要系统学习数据结构知识的初学者,也适合想要通过典型案例深入理解不同数据结构应用场景的算法学习者。不论是数据结构的入门学习还是应用技巧的提高,本文都能提供很好的帮助。 能学到什么: 通过学习...
树操作【中】 算法系列15天速成——第十一天 树操作(上) 算法系列15天速成——第十天 栈 算法系列15天速成——第九天 队列 算法系列15天速成——第八天 线性表【下】 算法系列15天速成——第七天 线性表【上】 ...
学习数据结构(和算法)到底有没有用? [无代码] 1-3 课程学习的更多注意事项 [无代码] 1-4 课程编程环境的安装 [无代码] 第二章 不要小瞧数组 2-1 使用Java中的数组 2-2 二次封装属于我们自己的数组 2-3 向数组中...
很多涉及计算器程序的的算法都是以栈的相关操作为基础,通过计算器的设计,有利于在学习中更好的理解栈及其相关的操作。 通过对计算器计算过程演示,看到了到它的一些性能及相关优势。 我们在写程序时,大框架已成的...
指某些著名的数据结构和算法,如:列,栈,堆,二分查找,动态规划等。 3.数据结构和算法的关系: 数据结构和算法是相辅相成的。数据结构是为算法服务的,算法是要作用在特定的数据结构上。 三。学习的重点 1....
数据结构是计算机存储、组织数据的方式,它涉及到数据的逻辑结构、物理结构以及对数据的基本操作。...通过对数据结构的理解和运用,以及对算法的学习和研究,可以帮助我们更有效地解决实际问题,提升编程能力。
五大常用算法之四:回溯法 五大常用算法之五:分支限界法 网上学习的网址 + 竞赛题目网址 有很多游戏开发相关的算法介绍: 俄罗斯方块游戏的算法网站: leetcode,最近很火的算法网站: Topcoder,也很经典,每周都...
广工QG工作室训练营学习资料,例如 QG工作室训练营第二场--...QG工作室训练营第四场-算法分析和排序 QG工作室训练营第五场-树 QG工作室训练营第一场--链表 后台组第三次培训作业要求 网络组第四次培训前端作业要求
四、上机实验原理及内容 上机实验原理:链表是最简单的线性数据结构,对链表的掌握,是以后课程学习的基 础。掌握链表的逻辑结构,存储结构,基本操作及其实现,应用链表实现简单的应用。 队列和栈都是存取受限的...
相对来说,每一章都可以作为一个相对独立的单元来教授或学习。书中的算法以英语加伪代码的形式给出,只要有一点程序设计经验的人都能读懂,并可以用任何计算机语言(如C/C++和Java等)方便地实现。在书中,作者将算法...