基礎篇 Go語言棧實現

2021-08-21 15:56:27 字數 910 閱讀 7941

理論介紹

棧(stack),是電腦科學中一種特殊的串列形式的抽象資料型別,其也通常使用鍊錶或者資料來實現, 與佇列不用,棧的性質是後進先出。也就是只能總棧的頂部插入元素與取出元素。

性質:

後進先出

**實現

package stack

type item inte***ce

// itemstack the stack of items

type itemstack struct

// new create a new itemstack

func (s *itemstack) new() *itemstack

return s

}// push adds an item to the top of the stack

func (s *itemstack) push(t item)

// pop removes an item from the top of the stack

func (s *itemstack) pop() *item

測試**
package stack

import "testing"

var s itemstack

func initstack() *itemstack

s.new()

}return &s

}func testitemstack_push(t *testing.t)

}func testitemstack_pop(t *testing.t)

s.pop()

s.pop()

if size := len(s.items); size != 0

}

專案位址

參考教程

基礎篇 Go語言佇列實現

理論介紹 佇列 queue 是一種先進先出的線性表。通常用資料或者鍊錶來實現佇列。佇列只允許在後端插入,前端刪除操作。性質 先進先出 實現 了解了佇列的概念,實現乙個佇列也相當簡單,下面看 package queue type item inte ce item the type of the qu...

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直接理解...