資料結構與演算法 基礎資料結構 佇列實現

2021-10-10 09:24:16 字數 1167 閱讀 7296

在學習佇列的實現過程中,跟著教程自己手寫了佇列的實現,理解佇列的先進先出原理。以及略微複雜的迴圈佇列形成的乙個閉環,略微吃力,還需努力,詳細說明在注釋

package com.zhouyou.queue;

// 普通佇列的實現

public

class

arrayqueue

public

void

push

(int m)

date[tail]

= m;

tail++;}

public

intpop()

// 先進先出 每次都是從頭開始彈

int m = date[head]

; head ++

;return m;

}private

boolean

isempty()

public

static

void

main

(string[

] args)

}}

下面是迴圈佇列的實現

package com.zhouyou.queue;

public

class

circlearrayqueue

public

void

push

(int m)

data[tail]

= m;

// 迴圈佇列 tail=7 8越界了,(7+1)%8==0

tail =

(tail +1)

% n;

}public

intpop()

int m = data[head]

; head =

(head +1)

% n;

return m;

}public

boolean

isempty()

public

static

void

main

(string[

] args)

}}

記錄學習歷程

資料結構與演算法 佇列

學習了好長 一段時間的資料結構,由於時間關係一直沒有寫部落格。這次打算將這段時間的學習內容寫下來做個整理。佇列作為線性結構的一種,其實用性不用多說。這裡總結下兩種結構的佇列實現。迴圈佇列 先列下以順序表結構形成的普通順序佇列存在的問題 隊頭不斷刪除元素,將使佇列的頭部空出單元 隨著刪除 插入的進行,...

資料結構與演算法 佇列

佇列 佇列與棧不同,它是一種先進先出的結構 實現 1 陣列 2 鍊錶 記錄的資料 1 隊首位置 第乙個元素的位置 2 隊尾位置 最後乙個元素的位置 3 佇列大小 size 佇列操作 entryqueue 入隊 exitqueue 出隊 isqueueempty 隊列為空 isqueuefull 佇列...

演算法與資料結構 佇列

adt queue d d 資料關係 r r a i d,i 2,3,n r 約定a 1a 1 a1 端為隊首,a na n an 端為隊尾。基本操作 create 建立乙個空佇列 emptyque 若隊列為空,則返回true,否則返回false insertque x 向隊尾插入元素x delet...