隊列是一種重要的資料結構,主要應用是資源的排隊(例如印表機),需要注意的是要利用迴圈資料來儲存資料
調用代碼
public static void main(string[] args){
queue queue=new queue();
for(int i=0;i<15;i++){
queue.enqueue("sunzhenxing"+i);
}
system.out.println(queue);
system.out.println(queue.getsize());
system.out.println("----------------------");
for(int i=0;i<10;i++){
queue.dequeue();
}
system.out.println(queue);
system.out.println(queue.getsize());
system.out.println("----------------------");
for(int i=0;i<5;i++){
queue.enqueue("sunhailong"+i);
}
system.out.println(queue);
system.out.println(queue.getsize());
}
java類檔案
class queue {
private int front;
private int back;
private int size;
private object[] data;
public queue(){
data=new object[10];
}
public int getsize(){
return size;
}
public object dequeue(){
object o=null;
if(size>0){
size--;
o=data[front];
data[front]=null;
front=(front>data.length-1)?0:front+1;
}
return o;
}
public void enqueue(object o){
if(size>=data.length){
object[] newdata=new object[data.length*2];
for(int i=0;i<data.length;++i){
newdata[i]=data[i];
}
data=newdata;
}
data[back]=o;
back++;
size++;
}
public string tostring(){
stringbuffer str=new stringbuffer();
for(int i=0;i<data.length;i++){
object o=data[i];
if(o!=null){
str.append(o+" ");
}
}
return str.tostring();
}
}
隊列是一種重要的資料結構,在排隊論和演算法設計中有很重要的應用,其實隊列也是一種鏈表,它只允許在表的始端出表(dequeue),在表的末端入表(enqueue),上邊是隊列的java實現。