How to move all zeros in int array to the end with C#

1 Answer

0 votes
using System;

class Program
{
    static void move_zeros_to_end(int[] arr) { 
        int j = 0, len = arr.Length;

        for (int i = 0; i < len; i++) 
            if (arr[i] != 0) 
                arr[j++] = arr[i];  

        while (j < len) 
            arr[j++] = 0; 
    } 
    static void Main()
    {
        int[] arr = {0, 3, 4, 0, 6, 0, 0, 8, 9, 0}; 

        move_zeros_to_end(arr); 

        for (int i = 0; i < arr.Length; i++) 
            Console.Write(arr[i] + " "); 
    }
}


/*
run:

3 4 6 8 9 0 0 0 0 0 

*/

 



answered Feb 25, 2019 by avibootz

Related questions

1 answer 166 views
1 answer 207 views
1 answer 162 views
1 answer 168 views
2 answers 221 views
1 answer 171 views
171 views asked Nov 27, 2021 by avibootz
2 answers 181 views
...