go语言-golang基础-queue队列和stack堆栈


1. queue队列

队列(queue), 是一种FIFO(First In First Out)先进先出的线性表。通常用数据或者链表来实现队列。 队列只允许在后端插入,前端删除操作。
性质:
先进先出

package main

import "fmt"

func main() {
    //队列
    //先进先出
    queue := []string{}
    //push
    //append
    queue = append(queue, "a", "b")
    queue = append(queue, "c")
    //pop
    x := queue[0]
    queue = queue[1:]
    fmt.Println("1: ", x)

    x = queue[0]
    queue = queue[1:]
    fmt.Println("2: ", x)

    x = queue[0]
    queue = queue[1:]
    fmt.Println("3: ", x)

}

/*
$ go run queue.go
1:  a
2:  b
3:  c
*/

 

2. stack堆栈

先进后出

示例:

package main

import "fmt"

func main() {
    //堆栈
    //先进后出
    stack := []string{}
    //push
    //append
    stack = append(stack, "a")
    stack = append(stack, "b")
    stack = append(stack, "c")
    //pop
    //后面移除
    x := stack[len(stack)-1]
    stack = stack[:len(stack)-1]
    fmt.Println("1: ", x)

    x = stack[len(stack)-1]
    stack = stack[:len(stack)-1]
    fmt.Println("2: ", x)

    x = stack[len(stack)-1]
    stack = stack[:len(stack)-1]
    fmt.Println("3: ", x)
}
/*
$ go run stack.go
1:  c
2:  b
3:  a

*/

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM