How to rearrange an array and set arr[i] to i in C#

1 Answer

0 votes
using System;

public class Example
{
	private static void ArrayRearrange(int[] arr) {
		int size = arr.Length;

		for (int i = 0; i < size ; ) {
			if (arr[i] >= 0 && arr[i] != i) {
				int temp = arr[arr[i]];
				arr[arr[i]] = arr[i];
				arr[i] = temp;
			}
			else {
				i++;
			}
		}
	}
	public static void Main(string[] args)
	{
		int[] arr = new int[] {9, 0, 4, 2, 7, 6, 8, 3, 1, 5};

		ArrayRearrange(arr);

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





/*
run:

0 1 2 3 4 5 6 7 8 9 

*/

 



answered Dec 21, 2022 by avibootz

Related questions

1 answer 112 views
1 answer 113 views
1 answer 141 views
1 answer 108 views
1 answer 106 views
1 answer 108 views
...