mirror of
https://github.com/halfrost/LeetCode-Go.git
synced 2025-07-05 16:36:41 +08:00
113 lines
4.1 KiB
Go
113 lines
4.1 KiB
Go
package leetcode
|
|
|
|
import (
|
|
"fmt"
|
|
"testing"
|
|
)
|
|
|
|
func Test_Problem1670(t *testing.T) {
|
|
obj := Constructor()
|
|
fmt.Printf("obj = %v %v\n", MList2Ints(&obj), obj)
|
|
obj.PushFront(1)
|
|
fmt.Printf("obj = %v %v\n", MList2Ints(&obj), obj)
|
|
obj.PushBack(2)
|
|
fmt.Printf("obj = %v\n", MList2Ints(&obj))
|
|
obj.PushMiddle(3)
|
|
fmt.Printf("obj = %v\n", MList2Ints(&obj))
|
|
obj.PushMiddle(4)
|
|
fmt.Printf("obj = %v\n", MList2Ints(&obj))
|
|
param1 := obj.PopFront()
|
|
fmt.Printf("param1 = %v obj = %v\n", param1, MList2Ints(&obj))
|
|
param1 = obj.PopMiddle()
|
|
fmt.Printf("param1 = %v obj = %v\n", param1, MList2Ints(&obj))
|
|
param1 = obj.PopMiddle()
|
|
fmt.Printf("param1 = %v obj = %v\n", param1, MList2Ints(&obj))
|
|
param1 = obj.PopBack()
|
|
fmt.Printf("param1 = %v obj = %v\n", param1, MList2Ints(&obj))
|
|
param1 = obj.PopFront()
|
|
fmt.Printf("param1 = %v obj = %v\n", param1, MList2Ints(&obj))
|
|
fmt.Printf("-----------------------------------------------------------------\n")
|
|
obj = Constructor()
|
|
fmt.Printf("obj = %v %v\n", MList2Ints(&obj), obj)
|
|
obj.PushFront(1)
|
|
fmt.Printf("obj = %v %v\n", MList2Ints(&obj), obj)
|
|
obj.PushFront(2)
|
|
fmt.Printf("obj = %v %v\n", MList2Ints(&obj), obj)
|
|
obj.PushFront(3)
|
|
fmt.Printf("obj = %v %v\n", MList2Ints(&obj), obj)
|
|
obj.PushFront(4)
|
|
fmt.Printf("obj = %v %v\n", MList2Ints(&obj), obj)
|
|
param1 = obj.PopBack()
|
|
fmt.Printf("param1 = %v obj = %v\n", param1, MList2Ints(&obj))
|
|
param1 = obj.PopBack()
|
|
fmt.Printf("param1 = %v obj = %v\n", param1, MList2Ints(&obj))
|
|
param1 = obj.PopBack()
|
|
fmt.Printf("param1 = %v obj = %v\n", param1, MList2Ints(&obj))
|
|
param1 = obj.PopBack()
|
|
fmt.Printf("param1 = %v obj = %v\n", param1, MList2Ints(&obj))
|
|
fmt.Printf("-----------------------------------------------------------------\n")
|
|
obj = Constructor()
|
|
fmt.Printf("obj = %v %v\n", MList2Ints(&obj), obj)
|
|
obj.PushMiddle(1)
|
|
fmt.Printf("obj = %v\n", MList2Ints(&obj))
|
|
obj.PushMiddle(2)
|
|
fmt.Printf("obj = %v\n", MList2Ints(&obj))
|
|
obj.PushMiddle(3)
|
|
fmt.Printf("obj = %v\n", MList2Ints(&obj))
|
|
param1 = obj.PopMiddle()
|
|
fmt.Printf("param1 = %v obj = %v\n", param1, MList2Ints(&obj))
|
|
param1 = obj.PopMiddle()
|
|
fmt.Printf("param1 = %v obj = %v\n", param1, MList2Ints(&obj))
|
|
param1 = obj.PopMiddle()
|
|
fmt.Printf("param1 = %v obj = %v\n", param1, MList2Ints(&obj))
|
|
fmt.Printf("-----------------------------------------------------------------\n")
|
|
obj = Constructor()
|
|
fmt.Printf("obj = %v %v\n", MList2Ints(&obj), obj)
|
|
obj.PushMiddle(8)
|
|
fmt.Printf("obj = %v\n", MList2Ints(&obj))
|
|
param1 = obj.PopMiddle()
|
|
fmt.Printf("param1 = %v obj = %v\n", param1, MList2Ints(&obj))
|
|
param1 = obj.PopFront()
|
|
fmt.Printf("param1 = %v obj = %v\n", param1, MList2Ints(&obj))
|
|
param1 = obj.PopBack()
|
|
fmt.Printf("param1 = %v obj = %v\n", param1, MList2Ints(&obj))
|
|
param1 = obj.PopMiddle()
|
|
fmt.Printf("param1 = %v obj = %v\n", param1, MList2Ints(&obj))
|
|
obj.PushMiddle(1)
|
|
fmt.Printf("obj = %v\n", MList2Ints(&obj))
|
|
obj.PushMiddle(10)
|
|
fmt.Printf("obj = %v\n", MList2Ints(&obj))
|
|
fmt.Printf("-----------------------------------------------------------------\n")
|
|
obj = Constructor()
|
|
fmt.Printf("obj = %v %v\n", MList2Ints(&obj), obj)
|
|
param1 = obj.PopMiddle()
|
|
fmt.Printf("param1 = %v obj = %v\n", param1, MList2Ints(&obj))
|
|
obj.PushMiddle(3)
|
|
fmt.Printf("obj = %v %v\n", MList2Ints(&obj), obj)
|
|
obj.PushFront(6)
|
|
fmt.Printf("obj = %v %v\n", MList2Ints(&obj), obj)
|
|
obj.PushMiddle(6)
|
|
fmt.Printf("obj = %v %v\n", MList2Ints(&obj), obj)
|
|
obj.PushMiddle(3)
|
|
fmt.Printf("obj = %v %v\n", MList2Ints(&obj), obj)
|
|
param1 = obj.PopMiddle()
|
|
fmt.Printf("param1 = %v obj = %v %v\n", param1, MList2Ints(&obj), obj)
|
|
obj.PushMiddle(7)
|
|
fmt.Printf("obj = %v %v\n", MList2Ints(&obj), obj)
|
|
param1 = obj.PopMiddle()
|
|
fmt.Printf("param1 = %v obj = %v %v\n", param1, MList2Ints(&obj), obj)
|
|
obj.PushMiddle(8)
|
|
fmt.Printf("obj = %v %v\n", MList2Ints(&obj), obj)
|
|
// ["FrontMiddleBackQueue","popMiddle","pushMiddle","pushFront","pushMiddle","pushMiddle","popMiddle","pushMiddle","popMiddle","pushMiddle"]
|
|
// [[],[],[3],[6],[6],[3],[],[7],[],[8]]
|
|
}
|
|
|
|
func MList2Ints(this *FrontMiddleBackQueue) []int {
|
|
array := []int{}
|
|
for e := this.list.Front(); e != nil; e = e.Next() {
|
|
value, _ := e.Value.(int)
|
|
array = append(array, value)
|
|
}
|
|
return array
|
|
}
|