日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

传说中的数据结构_JAVA

發布時間:2025/3/21 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 传说中的数据结构_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的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。