隊列的查存取操作


/*

查: ? 顯示所有元素 ? ? 顯示頭元素

存:

榷及臁:

注:判斷隊是否滿或者空

?*/

import java.util.Arrays;

import java.util.Scanner;

public class Solution

{

????public static void main(String[] args)

??????? {

???????????? ArrQueue queue=new ArrQueue(3);

?????????????Scanner sc=new Scanner(System.in);

???????????? boolean loop=true;

???????????? char key=' '; //接受用戶輸入

???????? while(loop)

???????? {

????????????? System.out.println("s(show):顯示隊列");

????????????? System.out.println("e(exit):退出程序");

????????????? System.out.println("a(add):插入數(shù)據(jù)");

????????????? System.out.println("g(get):獲取數(shù)據(jù)");

????????????? System.out.println("h(head):查看頭數(shù)據(jù)");

????????????? key=sc.next().charAt(0);

??????????????switch(key)

????????????? {

????????????????? case 's':

?????????????????????? queue.showArrQueue();

?????????????????????? break;

????????????????? case 'a':

???????????????????????System.out.println("輸入一個數(shù)");

?????????????????????? int value=sc.nextInt();

?????????????????????? queue.addArrQueue(value);

?????????????????????? break;

????????????????? case 'g':

???????????????????????try

?????????????????????????? {

??????????????????????????????? int res =queue.getArrQueue();

??????????????????????????????? System.out.println("取出來的數(shù)是:"+res);

?????????????????????????? }

???????????????????????catch(Exception e)

? ? ? ? ? ? ? ? ? ? ? ? ? {

??????????????????????????????? System.out.println(e.getMessage());

?????????????????????????? }

?????????????????????????? break;

????????????????? case 'h':

?????????????????????? try

?????????????????????????? {

??????????????????????????????? int res =queue.headArrQueue();

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? System.out.println("對頭的數(shù)據(jù)是:"+res);

? ? ? ? ? ? ? ? ? ? ? ? ? ? }

?????????????????????? catch(Exception e)

?????????????????????? {

??????????????????????????? System.out.println(e.getMessage());

?????????????????????? }

?????????????????????? break;

????????????? case 'e':

? ? ? ? ? ? ? ? ? ? ? sc.close();

? ? ? ? ? ? ? ? ? ? ? loop=false;

? ? ? ? ? ? ? ? ? ? ? break;

????????????????????? default:

? ? ? ? ? ? ? ? ? ? ? break;

????????}

?????}

???????????? System.out.println("退出程序");

? ? ?? }

}

class ArrQueue

{

private int maxSize;

private int rear;? ?? //隊尾

private int front;? ? //隊頭

int arr[]; ? ?? //定義數(shù)組模擬隊列存放數(shù)據(jù)

//隊列構造器

public ArrQueue(int arrmaxSize)

{

maxSize=arrmaxSize;

arr=new int [arrmaxSize];

rear=-1; //指向隊尾嫡锌,即隊列的最后一個位置

front=-1;? ?? //指向隊列頭部虑稼,也就是隊頭的前一個位置

}

//是否為滿

public boolean isFull()

{

return rear==maxSize-1;

}

//是否為空

public boolean isEmpty()

{

return rear==front;

}

//添加元素

public void addArrQueue(int value)?

{

if(isFull())

{

System.out.println("隊滿");

return;

}

rear++;

arr[rear] =value;

}

//獲得元素

public int getArrQueue()?

{

if(isEmpty())

{

throw new RuntimeException("隊空");

}

front++;

return arr[front];

}

public void showArrQueue() //顯示隊列所有元素

{

if(isEmpty())

{

System.out.println("隊空");

return;

}

System.out.println(Arrays.toString(arr));

}

//顯示隊列的頭數(shù)據(jù)

public int headArrQueue()?

{

if(isEmpty())

{

throw new RuntimeException("隊空");

}

return arr[front+1];

}

}

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市势木,隨后出現(xiàn)的幾起案子蛛倦,更是在濱河造成了極大的恐慌,老刑警劉巖啦桌,帶你破解...
    沈念sama閱讀 212,816評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件溯壶,死亡現(xiàn)場離奇詭異,居然都是意外死亡甫男,警方通過查閱死者的電腦和手機且改,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來板驳,“玉大人又跛,你說我怎么就攤上這事∪糁危” “怎么了慨蓝?”我有些...
    開封第一講書人閱讀 158,300評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長端幼。 經(jīng)常有香客問我菌仁,道長,這世上最難降的妖魔是什么静暂? 我笑而不...
    開封第一講書人閱讀 56,780評論 1 285
  • 正文 為了忘掉前任,我火速辦了婚禮谱秽,結果婚禮上洽蛀,老公的妹妹穿的比我還像新娘。我一直安慰自己疟赊,他們只是感情好郊供,可當我...
    茶點故事閱讀 65,890評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著近哟,像睡著了一般驮审。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上吉执,一...
    開封第一講書人閱讀 50,084評論 1 291
  • 那天疯淫,我揣著相機與錄音,去河邊找鬼戳玫。 笑死熙掺,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的咕宿。 我是一名探鬼主播币绩,決...
    沈念sama閱讀 39,151評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼蜡秽,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了缆镣?” 一聲冷哼從身側響起芽突,我...
    開封第一講書人閱讀 37,912評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎董瞻,沒想到半個月后寞蚌,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,355評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡力细,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,666評論 2 327
  • 正文 我和宋清朗相戀三年睬澡,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片眠蚂。...
    茶點故事閱讀 38,809評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡煞聪,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出逝慧,到底是詐尸還是另有隱情昔脯,我是刑警寧澤,帶...
    沈念sama閱讀 34,504評論 4 334
  • 正文 年R本政府宣布笛臣,位于F島的核電站云稚,受9級特大地震影響,放射性物質發(fā)生泄漏沈堡。R本人自食惡果不足惜静陈,卻給世界環(huán)境...
    茶點故事閱讀 40,150評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望诞丽。 院中可真熱鬧鲸拥,春花似錦、人聲如沸僧免。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽懂衩。三九已至撞叨,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間浊洞,已是汗流浹背牵敷。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留沛申,地道東北人劣领。 一個月前我還...
    沈念sama閱讀 46,628評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像铁材,于是被迫代替她去往敵國和親尖淘。 傳聞我的和親對象是個殘疾皇子奕锌,可洞房花燭夜當晚...
    茶點故事閱讀 43,724評論 2 351

推薦閱讀更多精彩內(nèi)容

  • 1稀疏數(shù)組 沒什么好說的,挺簡單的村生。就是講數(shù)組轉換為n行3列的二維數(shù)組惊暴。 接下來是代碼 package com.a...
    文茶君閱讀 246評論 0 0
  • /*今天的主要內(nèi)容:1、桶排序趁桃、計數(shù)排序的介紹2辽话、求排序后的數(shù)組相鄰兩個數(shù)的最大差值3、用數(shù)組實現(xiàn)大小固定的隊列和...
    須臾之北閱讀 755評論 0 0
  • Java經(jīng)典問題算法大全 /*【程序1】 題目:古典問題:有一對兔子卫病,從出生后第3個月起每個月都生一對兔子油啤,小兔子...
    趙宇_阿特奇閱讀 1,852評論 0 2
  • Day01 class 例子{ public static void main(String[] args){ ...
    周書達閱讀 1,025評論 0 0
  • (第9部分) 曾經(jīng)在處里無限風光和受人矚目的高新剛,如今被流放似地下放到水庫這個荒無人煙的地方蟀苛,他不用怎么留心就能...
    明重閱讀 226評論 0 4