rev.go 614 B

12345678910111213141516171819202122232425262728293031323334
  1. package main
  2. import (
  3. "fmt"
  4. "os"
  5. "strconv"
  6. )
  7. func reverseArray(l []int) {
  8. for i := 0; i < (len(l) >> 1); i++ {
  9. lastIdx := len(l) - i - 1
  10. l[lastIdx], l[i] = l[i], l[lastIdx]
  11. }
  12. }
  13. func main() {
  14. if len(os.Args) != 3 {
  15. fmt.Fprintln(os.Stderr, "Usage: array-reverse <size> <iterations>")
  16. os.Exit(1)
  17. }
  18. count, _ := strconv.Atoi(os.Args[1])
  19. iterations, _ := strconv.Atoi(os.Args[2])
  20. array := make([]int, count)
  21. for i := 0; i < count; i++ {
  22. array[i] = i
  23. }
  24. for i := 0; i < iterations; i++ {
  25. reverseArray(array)
  26. }
  27. }