資料結構 佇列

2021-08-16 15:41:22 字數 1823 閱讀 4766

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...