How to move all zeroes to end of array in Go

1 Answer

0 votes
package main

import "fmt"

func moveZeroToEnd(arr[] int) {
    var size int = len(arr)
    var j int = 0
    
    for i := 0; i < size; i++ {
        if (arr[i] > 0) {
            var tmp int = arr[i];
            arr[i] = arr[j];
            arr[j] = tmp;
            j++;
        }
    }
}

func display(arr[] int) {
    var size int = len(arr)
    
    for i := 0; i < size; i++ {
        fmt.Print(arr[i], " ")
    }
}

func main() {
    var arr = [] int { 0, 8, 0, 0, 0, 7, 15, 0, 0, 4, 6, 9 }

    moveZeroToEnd(arr)
    
    display(arr)
}



/*
run:
     
8 7 15 4 6 9 0 0 0 0 0 0 
     
*/

 



answered Nov 28, 2021 by avibootz
edited Nov 28, 2021 by avibootz

Related questions

1 answer 199 views
1 answer 227 views
1 answer 196 views
1 answer 223 views
1 answer 170 views
170 views asked Nov 27, 2021 by avibootz
1 answer 144 views
1 answer 163 views
...