Go
Go copied to clipboard
Use slice appending instead of insertion at zeroth index in "stack array" implementation
Description Current stack array implementation stores the last inserted value at zeroth index of the backing slice. This is inefficient as each push operation will require a new allocation and copying of contents in the current slice.
func stackPush(n any) {
stackArray = append([]any{n}, stackArray...)
}
Inserting latest element to the last index (append) will also help in reusing existing slices's remaining capacity when multiple push and pop operations happens in mixed order. Also, the current implementation uses a global variable as the backing slice. It should be implemented as an object and global mutable variables should be avoided.
Feel free to open a pull request fixing this issue.
Hello, Is this issue still open and can this be included for hacktoberfest ?
Yes, it is open.
hey assign me this issue under hacktoberfest
Issues will not be assigned to a single individual. If anyone wishes to work on any issue just open a pull request and we will review it.
Can the code style tests that failed be resolved by running gofmt -s -w stackarray.go ?
Yes it can.