Java演算法(隊列操作執行個體)

來源:互聯網
上載者:User

完整代碼如下:

package com.xu.test;import java.util.Scanner;public class P5_1 {/** * @功能:隊列操作執行個體 * @作者: * @日期:2012-10-20 */public static void main(String[] args) {SQType st = new SQType();DATA d = null;Scanner input = new Scanner(System.in);SQType stack = st.SQTypeInit();System.out.println("入隊操作:");System.out.println("輸入姓名    年齡進行入隊操作:");do{DATA data = new DATA();data.name = input.next();data.age = input.nextInt();if(data.name.equals("0")){break;//輸入“0”,則退出}else{st.InSQType(stack, data);}}while(true);String temp = "1";System.out.println("出隊操作:按任意不為0進行出隊操作:");temp = input.next();while(!temp.equals("0")){d = st.OutSQType(stack);System.out.printf("出隊列的資料是(%s,%d)\n",d.name,d.age);temp = input.next();}System.out.println("測試結束!");st.SQTypeFree(stack);}}class DATA {String name;int age;}class SQType {static final int QUEUELEN = 15;DATA[] data = new DATA[QUEUELEN]; // 隊列數組int head;int tail;@SuppressWarnings("unused")SQType SQTypeInit() {SQType q;if ((q = new SQType()) != null) {q.head = 0;q.tail = 0;return q;} else {return null;}}int SQTypeIsEmpty(SQType q) // 判斷隊列空{int temp = 0;if (q.head == q.tail) {temp = 1;}return temp;}int SQTypeIsFull(SQType q) // 判斷隊列滿{int temp = 0;if (q.tail == QUEUELEN)return 1;return temp;}void SQTypeClear(SQType q) // 清空隊列{q.head = 0;q.tail = 0;}void SQTypeFree(SQType q) // 釋放隊列{if (q != null)q = null;}int InSQType(SQType q, DATA data) // 入隊列{if (q.tail == QUEUELEN) {System.out.println("隊列已滿!操作失敗!");return 0;} else {q.data[q.tail++] = data;return 1;}}DATA OutSQType(SQType q) // 出隊列{if (q.head == q.tail) {System.out.println("隊列已空,操作失敗!");System.exit(0);} else {return q.data[q.head++];}return null;}DATA PeekSQType(SQType q) // 讀結點資料{if (SQTypeIsEmpty(q) == 1) {System.out.println("空隊列!");return null;} else {return q.data[q.head];}}int SQTypeLen(SQType q) // 計算隊列長度{int temp;temp = q.tail - q.head;return temp;}}

運行結果:

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.