Go 用list實現stack和queue

2021-08-22 19:40:26 字數 596 閱讀 8344

go的container/list 包裡面帶的list,有在鍊錶頭部和尾巴插入元素,和獲取頭部和尾部元素的操作,因此我們可以用list來實現棧和佇列的功能。

import (

"container/list"

"fmt"

)func stacktest()

for

ele := stack.back() //取出鍊錶最後乙個元素

val := ele.value.(int)

fmt.printf("val: %d", val)

stack.remove(ele)//將最後乙個元素刪除,出棧

}}func queuetest()

for

ele := queue.front() // 取出鍊錶第乙個元素

val := ele.value.(int)

fmt.printf("val: %d", val)

queue.remove(ele) // 將第乙個元素刪除,出佇列

}}

說明乙個,list鍊錶元素element存放的val是inte***ce型別的,我們將其取出來時,需要做乙個型別轉換

用List實現Stack基本功能

stack是一種特殊的序列形式的資料結構。特點 1 只允許在棧頂壓入新元素 push 2 只允許先由棧頂元素輸出,也就是後進先出 pop 下面我打算用list來實現stack最簡單的功能。我的思路 根據list的知識,允許在list裡面刪除,插入元素,而stack不過是刪除和插入的元素都是最後乙個而...

python中利用list實現stack

class mystack def init self self.maxsize 5000 self.max 1 self.l1 def setmaxsize self,s if isinstance s,int false print your input is not a number elif...

如何使用Go實現乙個Stack和Queue

可以使用 slice 實現如下 type stack int func s stack empty bool func s stack push v int func s stack pop int type queue int func q queue empty bool func q queu...