傳說中的資料結構_JAVA
Description
在大學裡學習了一個學期了,大家大都對所學的專業有了基本的瞭解。許多同學也已經知道了到大二要開一門課叫做《資料結構》,那麼今天給你們提前講一下一個最簡單的資料結構:棧。 棧的基本操作有3種:push,pop,top。
例如,給你一個數列:1 2 3 4
push:向棧中加入一個數,比如push 5,數列就變成1 2 3 4 5。
pop:從棧中刪除最後面的數,比如 pop,數列就變成1 2 3。(數列變化,但是不輸出。如果棧是空的,即不能 pop 操作,那就輸出 error ,但是接下來的操作還是要繼續的)。
top:找出棧最後面的數,比如 top ,你就要輸出4。(如果棧中沒有數的話,即不能 top 操作,那就輸出 empty)。
然後,你們可以看出來了吧,其實棧就是一個先進後出(越先進去的元素越後面出來)的資料結構,很簡單吧,下面要檢驗下你們的學習效果了。
Input
輸入包含多組測試資料.
每組資料的第一行為一個整數 T(1 <= T <= 1000 ),接下來 T 行為對棧的操作。
Output
如果操作是top,那麼輸出最後面的數,如果棧中沒有數的話,那就輸出“empty”(不含引號)。
如果操作是pop且棧是空的,那麼輸出 “error”(不含引號)。
在每組測試資料的最後多加一次換行。
Sample
Input
8
push 1
push 2
push 3
push 4
top
pop
top
pop
3
push 1
pop
top
Output
4
3
empty
Hint
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
int t, num;
while(reader.hasNext()) {
t = reader.nextInt();
String str;
num = 0;
int [] a = new int [1000];
for(int i = 0; i < t; i++) {
str = reader.next();
if(str.compareTo("push") == 0) {
int x = reader.nextInt();
a[num++] = x;
} else if(str.compareTo("top") == 0) {
if(num == 0) {
System.out.println("empty");
} else System.out.println(a[num - 1]);
} else if(str.compareTo("pop") == 0) {
if(num == 0) {
System.out.println("error");
} else {
num--;
}
}
}
System.out.println();
}
reader.close();
}
}
相關文章
- Java中的不可變資料結構Java資料結構
- Java中的資料結構(轉載)Java資料結構
- 圖解:Java 中的資料結構及原理圖解Java資料結構
- Java資料結構Java資料結構
- Java中的不可變資料結構 - Jworks.ioJava資料結構
- Redis中的資料結構Redis資料結構
- oracle 中的資料結構Oracle資料結構
- JavaScript 中的 資料結構JavaScript資料結構
- java Bitmap 資料結構Java資料結構
- 說說你對資料結構的理解?有哪些?區別?資料結構
- 例說資料結構&STL(十三)——pair資料結構AI
- 例說資料結構&STL(一)——vector資料結構
- 例說資料結構&STL(二)——list資料結構
- 例說資料結構&STL(三)——deque資料結構
- 例說資料結構&STL(四)——queue資料結構
- 例說資料結構&STL(五)——stack資料結構
- 例說資料結構&STL(六)——heap資料結構
- 例說資料結構&STL(八)——set資料結構
- 例說資料結構&STL(九)——map資料結構
- 例說資料結構&STL(十二)——iterator資料結構
- Java後端中的資料版本控制:如何管理資料結構的演變Java後端資料結構
- C#中的資料結構C#資料結構
- 說說資料分析中的資料建模
- Java刷題常用的資料結構總結Java資料結構
- Java版-資料結構-棧Java資料結構
- Java資料結構-陣列Java資料結構陣列
- Java中的陣列資料結構需要了解的要點Java陣列資料結構
- Java版-資料結構-連結串列Java資料結構
- JAVA資料結構之連結串列Java資料結構
- Java 的 ArrayList 的底層資料結構Java資料結構
- 【PG結構】Postgresql資料庫資料目錄說明SQL資料庫
- 【SqlServer】 理解資料庫中的資料頁結構SQLServer資料庫
- 資料結構中樹形結構簡介資料結構
- Java實現資料結構之線性結構Java資料結構
- 2.1.3 CDB中的資料字典結構
- JavaScript中的樹型資料結構JavaScript資料結構
- go中map的資料結構理解Go資料結構
- 【譯】資料結構中關於樹的一切(java版)資料結構Java