JAVA隊(duì)列類代碼 java實(shí)現(xiàn)隊(duì)列功能

怎樣用java代碼實(shí)現(xiàn)一個隊(duì)列

class StackT {

創(chuàng)新互聯(lián)建站是一家專業(yè)提供元謀企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站建設(shè)、成都做網(wǎng)站、HTML5、小程序制作等業(yè)務(wù)。10年已為元謀眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進(jìn)行中。

private VectorT v;

public Stack(){

v = new VectorT();

}

public T pop(){

if (v.size()==0) return null;

return v.get(v.size()-1);

}

public void push(T t){

v.add(t);

}

public boolean isEmpty(){

return v.size()==0;

}

}

class QueueT{

private VectorT v;

public Queue(){

v = new VectorT();

}

//入隊(duì)列

public void enqueue(T t){

v.add(t);

}

//出隊(duì)列

public T dequeue(){

if (v.size()==0) return null;

return v.get(0);

}

public boolean isEmpty(){

return v.size() == 0;

}

}

如何使用java代碼實(shí)現(xiàn)棧和隊(duì)列

如何使用java代碼實(shí)現(xiàn)棧和隊(duì)列

import java.util.Scanner;

import java.util.Stack;

/**

* @author Owner

*

*/

public class Main {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

int n= sc.nextInt();//3條測試數(shù)據(jù)數(shù)據(jù)

StackCharacter stack = null;

while(n!=0){

//從控制臺讀入一個測試字符串[]() [(])

String str = sc.next();

//如果該輸入字符串為奇數(shù),說明不匹配

if(str.length() % 2 == 1){

System.out.println("No");

}else{

//說明字符是偶數(shù)

stack = new StackCharacter();

//遍歷第一條測試字符串[]() [(])

for(int i=0;istr.length();i++){

if(stack.isEmpty()){

//如果棧是空的

stack.push(str.charAt(i));

}else if(stack.peek() == '[' str.charAt(i) == ']' || stack.peek() == '(' str.charAt(i) == ')'){

//說明此時(shí)棧中字符不是空的,并且符合,

stack.pop();

}else{

stack.push(str.charAt(i));

}

}

if(stack.isEmpty()){

//如果棧是空的,說明a href=";tn=44039180_cprfenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1Y3mhDvP10Ln19hrANbP1fk0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3ErHnLP1nsPHDznHTkn1fYPHnz" target="_blank" class="baidu-highlight"括號/a匹配

System.out.println("Yes");

}else{

//說明棧不為空,a href=";tn=44039180_cprfenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1Y3mhDvP10Ln19hrANbP1fk0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3ErHnLP1nsPHDznHTkn1fYPHnz" target="_blank" class="baidu-highlight"括號/a不匹配

System.out.println("No");

}

}

n--;

}

}

}

用java語言設(shè)計(jì)一個先進(jìn)先先出的隊(duì)列類

代碼僅供參考,如有問題,歡迎追問!

Basket:

import?java.util.concurrent.BlockingQueue;

import?java.util.concurrent.LinkedBlockingQueue;

/**

*?定義裝蘋果的籃子

*?

*?@author?stone

*?@version?2013-05-21

*/

public?class?Basket?{

//?籃子,能夠容納Integer.MAX_VALUE個蘋果

BlockingQueueObject?basket?=?new?LinkedBlockingQueueObject(Integer.MAX_VALUE);

//?生產(chǎn)蘋果,放入籃子

public?void?produce(Object?obj)?throws?InterruptedException?{

//?put方法放入一個蘋果,若basket滿了,等到basket有位置

basket.put(obj);

}

//?消費(fèi)蘋果,從籃子中取走

public?Object?consume()?throws?InterruptedException?{

//?take方法取出一個蘋果,若basket為空,等到basket有蘋果為止(獲取并移除此隊(duì)列的頭部)

return?basket.take();

}

}

BaksetTest:

import?org.apache.log4j.Logger;

public?class?BaksetTest?{

static?Logger?logger?=?Logger.getLogger(BaksetTest.class);

static?Basket?basket?=?new?Basket();

public?static?void?main(String[]?args)?throws?Exception?{

try{

Consume?con?=?new?Consume(basket);

Thread?thread?=?new?Thread(con);

thread.start();

Integer?num?=?0;

while(true){//循環(huán)放入數(shù)據(jù)到隊(duì)列

num++;

basket.produce(num);

Thread.sleep(1*1000);

if(num1000000)?num?=0;

}

}?catch(?Exception?e?){

logger.error("error?:?",?e);

}

}

}

//消費(fèi)線程,用來消費(fèi)隊(duì)列里堆積數(shù)據(jù),此線程為阻塞狀態(tài)

class?Consume?implements?Runnable?{

Logger?logger?=?Logger.getLogger(BaksetTest.class);

Basket?basket;

public?Consume?(Basket?basket){

this.basket?=?basket;

}

@Override

public?void?run()?{

try{

while(true){//等待從隊(duì)列取出數(shù)據(jù)

System.out.println("取出:"?+?basket.consume());

}

}?catch?(?Exception?e?){

logger.error("error?:?",?e);

}

}

}

本文題目:JAVA隊(duì)列類代碼 java實(shí)現(xiàn)隊(duì)列功能
URL地址:http://muchs.cn/article42/dohcchc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、動態(tài)網(wǎng)站、網(wǎng)站維護(hù)、企業(yè)建站移動網(wǎng)站建設(shè)、網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)