Quick actions

cmd+k|ctrl+k

Navigation

Languages

stack_array

Snippet info

Language

Go

Visibility

public

Author

chauhanom13

Created

2023-09-10T08:53:37.464875Z

Updated

2023-09-10T08:53:52.294933Z

package main

import (
    "fmt"
)

type Stack struct {
    data []int
}

func (s *Stack) Peek() int {
    if len(s.data) > 0 {
        return s.data[len(s.data)-1]
    }
    return -1
}

func (s *Stack) Push(value int) {
    s.data = append(s.data, value)
    fmt.Println(s.data)
}

func (s *Stack) Pop() int {
    if len(s.data) > 0 {
        ele := s.data[len(s.data)-1]
        s.data = s.data[0:len(s.data)-1]
        return ele
    }
    return -1
}

func main() {
    s := Stack{}
    s.Push(20)
    s.Push(30)
    s.Push(40)
    
    fmt.Println(s.Peek())
    fmt.Println(" Pop: " , s.Pop())
    fmt.Println(" Pop: " , s.Pop())
    fmt.Println(" Pop: " , s.Pop())
    fmt.Println(s.Peek())
}
INFO