理論介紹
佇列(queue), 是一種先進先出的線性表。通常用資料或者鍊錶來實現佇列。 佇列只允許在後端插入,前端刪除操作。
性質:
先進先出
**實現
了解了佇列的概念,實現乙個佇列也相當簡單,下面看**
package queue
type item inte***ce
// item the type of the queue
type itemqueue struct
type itemqueuer inte***ce
// new creates a new itemqueue
func (s *itemqueue) new() *itemqueue
return s
}// enqueue adds an item to the end of the queue
func (s *itemqueue) enqueue(t item)
// dequeue
func (s *itemqueue) dequeue() *item
func (s *itemqueue) isempty() bool
// size returns the number of items in the queue
func (s *itemqueue) size() int
在**中,我們使用go語言切片實現了乙個佇列,並且提供了以下幾種方法
- new 新建乙個佇列
- enqueue 入隊,也就是給佇列新增元素
- dequeue 出隊,從佇列中取出元素
- isempty 判斷佇列是否為空
- size 求佇列的大小
測試**
package queue
import "testing"
var q itemqueue
func initqueue() *itemqueue
q.new()
}return &q
}func testitemqueue_enqueue(t *testing.t)
}func testitemqueue_dequeue(t *testing.t)
q.dequeue()
q.dequeue()
if !q.isempty()
}
專案位址
參考教程
基礎篇 Go語言棧實現
理論介紹 棧 stack 是電腦科學中一種特殊的串列形式的抽象資料型別,其也通常使用鍊錶或者資料來實現,與佇列不用,棧的性質是後進先出。也就是只能總棧的頂部插入元素與取出元素。性質 後進先出 實現package stack type item inte ce itemstack the stack ...
go語言學習 基礎篇(3)
一,go語言陣列 1,陣列的特點 a.陣列在初始化完成之後,陣列的長度是固定的 b.只儲存同一型別的資料 c.陣列中的元素與元素之間的記憶體空間是連續的 2,陣列的定義 var a 5 int 其中a 表示陣列的名稱,5 表示陣列的長度,int 表示陣列中的元素型別 3,陣列中元素的訪問 使用下標訪...
Go語言 併發篇
go語言 併發篇 2012 06 06 09 55 by 軒脈刃,當被問到為什麼用go語言,一定不得不提的是go語言的併發程式編寫。在c語言中編寫非常繁瑣複雜的併發程式在go語言中總是顯得如此便捷。go中併發程式依靠的是兩個 goroutine和channel 對於初學者,goroutine直接理解...