Ответ на "Реализуйте стек (LIFO)"
Стек можно реализовать с помощью объекта среза.
Для
#задача
@golangtests
Стек можно реализовать с помощью объекта среза.
package main
import "fmt"
func main() {
// Создание стека
var stack []string
// Добавление элементов
stack = append(stack, "world!")
stack = append(stack, "Hello ")
for len(stack) > 0 {
// Print top
n := len(stack) - 1
fmt.Print(stack[n])
// Pop
stack = stack[:n]
}
// Output: Hello world!
}
Сначала мы используем встроенную функцию append()
для реализации поведения присоединения. Далее с помощью len(stack)-1
мы извлекаем верхушку стека и выводим ее на экран.Для
pop
мы устанавливаем в качестве новой длины стека позицию выведенного верхнего значения, len(stack)-1
.#задача
@golangtests