golang使用陣列模擬環形佇列 demo

2021-09-27 05:08:05 字數 812 閱讀 4511

// 

定義環形佇列結構體

type loopqueue struct

// 定義環形佇列的新增資料方法

func (loop *loopqueue) add(val int)

loop.rear++

// 如果溢位了則會覆蓋佇列前面先進來的資料

,//

但是這些資料是後面進來的

,要遵循

fifo原則,

// 則佇列首部指標往後面移動

if loop.over

loop.array[loop.rear] = val

}//

定義環形佇列的資料檢視方法

func (loop *loopqueue) show()(err error)  

return err

}//

定義取出環形佇列的資料方法

func (loop *loopqueue) get()(val int

, err error)

// 這個表示佇列前面有些資料已經溢位被覆蓋了

if loop.rear < loop.front

val = loop.array[loop.front]

loop.front++

return val, err

}if

loop.front < loop.rear

loop.front++

val = loop.array[loop.front]

return val, err

}return

}

陣列模擬環形佇列

class queue 判斷佇列是否滿 public boolean isfull 判斷佇列是否為空 public boolean isempty 新增資料 param n 新增資料的值 public void addqueue int n arr rear n 注意 這裡一定要 去摸 而且 注意 ...

陣列模擬環形佇列

package queue 陣列模擬環形佇列 public class queue public void add int element else public intremove throws exception int temp arr front front front 1 size ret...

陣列模擬環形佇列

主要思想 採用雙指標,指標front永遠指向佇列第乙個元素,指標rear永遠指向佇列最後乙個元素位置 1,初始值皆為0 front與rear之間約定預留乙個位置,即若初始化陣列容量為10 maxsize 則有效儲存位只有9個。使用公式 rear maxsize front maxsize 可求出佇列...