1、核心思想:
類似於棧,不同的是佇列中第乙個插入的資料項會最先移除,即先進先出。
隊頭取資料,隊尾存資料。
2、實現佇列
public
class
testqueue
報錯,隊尾存資料++end已經到了5,再存會越界
queue.remove();//報錯,隊頭移資料時font++到了5,再移會越界
}}public
class
queue
//插入資料
public
void
insert(long value)
//移除資料
public
long
remove()
//是否為空
public
boolean
isempty()
//是否滿了
public
boolean
isfull()
//返回有效元素大小
public
intsize()
}
3、迴圈佇列
public
static
void
main(string args)
//111 20 10 2 1 111,注意有6個數,因為elems=6
}public
class
myqueue
//插入資料
public
void
insert(long value)
arr[++end]=value;//隊尾存資料,從0開始
elems++;
}//移除資料
public
long
remove()
elems--;
return tmp;//隊頭移資料
}//是否為空
public
boolean
isempty()
//是否滿了
public
boolean
isfull()
//返回有效元素大小
public
intsize()
}
4、優先順序佇列
核心思想:資料項按關鍵字的值有序。關鍵字最小或最大的總在隊頭,資料項插入時會按照順序插入到合適的位置,以確保佇列的順序。
public
class
testqueue
//1 2 10 30 40
}}public
class
priorityqueue
//插入資料:從大到小排序,找比自己小的,移到其前
public
void
insert(long value)
}for(int j=elems;j>i;j--)
arr[i]=value;//將4填到arr[1]
elems++;
}//移除資料:先移除最小的
public
long
remove()
//是否為空
public
boolean
isempty()
//是否滿了
public
boolean
isfull()
//返回有效元素大小
public
intsize()
}
資料結構 佇列
一 佇列的迴圈陣列實現。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...