資料結構 佇列

2021-08-14 09:25:09 字數 1891 閱讀 8588

主要的佇列操作

voidoffer(intdata):在佇列的隊尾插入乙個元素

intpoll():刪除並返回隊首元素

intpeek():僅獲取隊首元素

輔助的佇列操作

intsize():返回佇列中儲存元素個數

booleanisempty():判斷佇列是否為空

booleanisfull():判斷佇列是否已滿

對乙個空佇列執行出棧操作會丟擲佇列空異常(underflow)

對乙個滿佇列執行入隊操作會丟擲佇列滿異常(overflow)

public

class

queue

public

static queue getinstance()

public

static queue getinstance(int size)

//佇列元素個數

public

intsize()

return (capacity - front + rear + 1) % capacity;

}//判空

public

boolean

isempty()

//判滿

public

boolean

isfull()

//入隊

public

void

offer(int data)

rear = (rear + 1) % capacity;

ary[rear] = data;

if(front == -1)

}//出隊並返回隊首元素

public

intpoll()

int temp = ary[front];

if(front == rear)else

return temp;

}//獲取隊首元素

public

intpeek()

return ary[front];

}}

public

class queue

public node getnext()

public

void

setnext(node next)

node(int e)

}private node front; //頭指標

private node rear; //尾指標

//私有化構造器

private

queue()

//獲得例項

public

static queue getinstance()

//佇列元素個數

public

intsize()

node node = front;

int k = 1;

while(node != rear)

return k;

}//判空

public boolean isempty()

//入隊

public

void

offer(int data)else

}//出隊,並返回隊首元素

public

intpoll()

node temp = front;

if(front == rear)else

return temp.getdata();

}//返回隊首元素

public

intpeek()

return front.getdata();

}}

資料結構 佇列

一 佇列的迴圈陣列實現。1 初始化 空佇列。令rear front 0。2 入佇列 約定rear指向佇列尾元素的下乙個位置。入佇列時,先判斷佇列是否已滿,而後將array rear x 然後rear 3 出佇列 約定front指向佇列的首元素位置。出佇列時,先判斷佇列是否為空,而後返回隊首元素re ...

資料結構 佇列

資料參考自 資料結構c 語言描述 佇列是一種先進先出的資料結構,這與棧正好相反。下例是簡單的queue實現 queue.h檔案 ifndef queue h define queue h include include 資料元素結構 自定義 struct datatype 佇列元素最大數 const...

資料結構 佇列

code for fun created by dream whui 2015 1 25 include stdafx.h include include using namespace std define true 1 define false 0 define ok 1 define erro...