Java算法(队列操作实例)
来源:互联网 发布:asp.net crm源码 编辑:程序博客网 时间:2024/04/30 18:48
完整代码如下:
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;}}
运行结果:
- Java算法(队列操作实例)
- Java算法(顺序表操作实例)
- Java算法(链表操作实例)
- Java算法学习(栈操作实例)
- 蓝桥杯 算法提高 队列操作(Java解题)
- 蓝桥杯-队列操作(java)
- 蓝桥杯 算法提高 队列操作 (坑)
- 算法提高 队列操作
- 算法提高 队列操作
- 算法提高 队列操作
- 算法提高 队列操作
- 算法提高 队列操作
- 算法提高 队列操作
- 算法提高 队列操作
- Java 实例 - 队列(Queue)用法
- Java 实例 - 队列(Queue)入门用法
- Java 延迟队列实例
- DelayQueue延时队列操作实例
- 刚入职场应该注意什么(转载)
- 快速排序(Ruby)
- gcc编译动态链接库
- RAID常用级别比较
- Java StringBuffer类基本用法详解
- Java算法(队列操作实例)
- MFC编程中,组合框下拉列表不能弹出
- nyoj91 阶乘之和
- 一些常用C语言库函数实现
- ZOJ 3261 Connections in Galaxy War(并查集)
- photoshop CS6 反相功能 用不了
- Spring3 MVC 文件上传
- 如何在类图中标注设计模式(二)
- RARP发出要反向解析的物理地址并希望返回其对应的IP地址