java隊列接口代碼 java 隊列 api

JAVA程序利用List編寫隊列結(jié)構(gòu),求簡易代碼

package list;

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:域名與空間、虛擬空間、營銷軟件、網(wǎng)站建設(shè)、安國網(wǎng)站維護、網(wǎng)站推廣。

import java.util.ArrayList;

//這是關(guān)于List用法,代表性的有LinkedList,ArrayList,Vector用法類似

public class ArrayListTest {

/**

* @param args

*/

public static void main(String[] args) {

ArrayListString list = new ArrayListString();

//添加

list.add("三國演義");

list.add("西游記");

list.add("水滸傳");

list.add("紅樓夢");

//修改

list.set(0, "三國志");

//查詢某個元素是否存在

boolean flag = list.contains("西游記");

System.out.println(flag);

//刪除

list.remove(2);//list.remove("水滸傳");

//遍歷

int size = list.size();

for ( int i=0; isize; i++)

{

String str =(String)list.get(i);//得到某個位置的元素

System.out.println(str);

}

}

}

////////////////////////下面是排序的

package list;

import java.util.ArrayList;

import java.util.Collections;

//這是關(guān)于List用法,代表性的有LinkedList,ArrayList,Vector用法類似

//排序

//Collections可以排序,還可以得到最大,最小數(shù)值,還可以將集合反轉(zhuǎn)

public class SortListTest {

/**

* @param args

*/

@SuppressWarnings("unchecked")

public static void main(String[] args) {

ArrayList list = new ArrayList();

//添加

list.add(45);

list.add(67);

list.add(87);

list.add(23);

list.add(67);

Collections.sort(list);//升序

//Collections.sort(list,Collections.reverseOrder());//降序

//遍歷

int size = list.size();

for ( int i=0; isize; i++ )

{

Integer str =(Integer)list.get(i);//得到某個位置的元素

System.out.println(str);

}

}

}

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

class StackT {

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();

}

//入隊列

public void enqueue(T t){

v.add(t);

}

//出隊列

public T dequeue(){

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

return v.get(0);

}

public boolean isEmpty(){

return v.size() == 0;

}

}

java:編寫數(shù)據(jù)訪問接口,再分別以堆棧和隊列的形式實現(xiàn)

鏈隊列的定義:

隊列的鏈?zhǔn)酱鎯Y(jié)構(gòu)簡稱為鏈隊列。它是限制僅在表頭刪除和表尾插入的單鏈表。

鏈隊列的數(shù)據(jù)存儲形式:

鏈隊列基本運算的實現(xiàn):

[java] view plain copy

package study_02.datastructure.queue;

/**

* 鏈隊列

* @author WWX

*/

public class LinkQueueT {

//鏈的數(shù)據(jù)結(jié)構(gòu)

private class Node{

public T data;

public Node next;

//無參構(gòu)造函數(shù)

public Node(){}

public Node(T data,Node next){

this.data=data;

this.next=next;

}

}

//隊列頭指針

private Node front;

//隊列尾指針

private Node rear;

//隊列長度

private int size=0;

public LinkQueue(){

Node n=new Node(null,null);

n.next=null;

front=rear=n;

}

/**

* 隊列入隊算法

* @param data

* @author WWX

*/

public void enqueue(T data){

//創(chuàng)建一個節(jié)點

Node s=new Node(data,null);

//將隊尾指針指向新加入的節(jié)點,將s節(jié)點插入隊尾

rear.next=s;

rear=s;

size++;

}

/**

* 隊列出隊算法

* @return

* @author WWX

*/

public T dequeue(){

if(rear==front){

try {

throw new Exception("堆棧為空");

} catch (Exception e) {

e.printStackTrace();

}

return null;

}else{

//暫存隊頭元素

Node p=front.next;

T x=p.data;

//將隊頭元素所在節(jié)點摘鏈

front.next=p.next;

//判斷出隊列長度是否為1

if(p.next==null)

rear=front;

//刪除節(jié)點

p=null;

size--;

return x;

}

}

/**

* 隊列長隊

* @return

* @author WWX

*/

public int size(){

return size;

}

/**

* 判斷隊列是否為空

* @return

* @author WWX

*/

public boolean isEmpty(){

return size==0;

}

public String toString() {

if(isEmpty()){

return "[]";

}else{

StringBuilder sb = new StringBuilder("[");

for(Node current=front.next;current!=null;current=current.next){

sb.append(current.data.toString() + ", ");

}

int len = sb.length();

return sb.delete(len - 2, len).append("]").toString();

}

}

//測試

public static void main(String[] args) {

LinkQueueInteger queue=new LinkQueueInteger();

queue.enqueue(1);

queue.enqueue(2);

queue.enqueue(3);

queue.enqueue(4);

queue.enqueue(5);

queue.enqueue(6);

System.out.println(queue);

System.out.println("出隊:"+queue.dequeue());

System.out.println("隊列長度="+queue.size());

System.out.println(queue);

System.out.println("出隊:"+queue.dequeue());

System.out.println("隊列長度="+queue.size());

System.out.println(queue);

System.out.println("出隊:"+queue.dequeue());

System.out.println("隊列長度="+queue.size());

System.out.println(queue);

}

}

輸出結(jié)果:

[1, 2, 3, 4, 5, 6]

出隊:1

隊列長度=5

[2, 3, 4, 5, 6]

出隊:2

隊列長度=4

[3, 4, 5, 6]

出隊:3

隊列長度=3

[4, 5, 6]

網(wǎng)站名稱:java隊列接口代碼 java 隊列 api
文章位置:http://muchs.cn/article12/ddigjgc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、網(wǎng)站導(dǎo)航、搜索引擎優(yōu)化、云服務(wù)器、微信小程序定制網(wǎng)站

廣告

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

綿陽服務(wù)器托管