How to move all zeroes to end of array in Swift

1 Answer

0 votes
import Foundation

class Array
{
	func moveZeroToEnd(_ arr: inout[Int])	{
		let size: Int = arr.count;
		var i: Int = 0;
		var j: Int = 0;
		while (i < size) {
		    if (arr[i] > 0) {
                let tmp: Int  = arr[i];
                arr[i] = arr[j];
                arr[j] = tmp;
                j += 1;
            }
            i += 1;
        }
	}
	func display(_ arr: [Int]) {
		let size: Int = arr.count;
		var i: Int = 0;
		
		while (i < size) {
			print(arr[i], terminator: " ");
			i += 1;
		}
	}
	static func main()
	{
		let obj: Array = Array();
		var arr: [Int] = [0, 8, 0, 0, 0, 7, 15, 0, 0, 4, 6, 9];

		obj.moveZeroToEnd(&arr);

		obj.display(arr);
	}
}
Array.main();



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

 



answered Nov 28, 2021 by avibootz

Related questions

1 answer 193 views
193 views asked Nov 28, 2021 by avibootz
1 answer 222 views
1 answer 192 views
1 answer 213 views
1 answer 161 views
161 views asked Nov 27, 2021 by avibootz
1 answer 138 views
1 answer 158 views
...