Move all negative elements to end in c#
Csharp program for Move all negative elements to end. Here mentioned other language solution.
// Include namespace system
using System;
// Csharp program for
// Move all negative elements at the end of array
public class MyArray
{
// Display array elements
public void display(int[] arr, int n)
{
for (int i = 0; i < n; i++)
{
Console.Write(" " + arr[i]);
}
Console.WriteLine();
}
// Swap the given array elements
public void swap(int[] arr, int start, int end)
{
var temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
}
// Method which is move negative elements
public void moveNegative(int[] arr, int n)
{
// first index
var i = 0;
// last index
var j = n - 1;
while (i < j)
{
if (arr[i] < 0 && arr[j] >= 0)
{
// When [i] index are have negative value
// And [j] is positive then swapping elements values
this.swap(arr, i, j);
// Modified index
i++;
j--;
}
else if (arr[i] >= 0)
{
// When element of [i] is not negative
i++;
}
else
{
j--;
}
}
}
public static void Main()
{
var task = new MyArray();
// Array which are containing positive and negative values
int[] arr = {
1 , -1 , 3 , 2 , -7 , -5 , 11 , 6
};
var n = arr.Length;
Console.WriteLine("Before Arrange : ");
// Before move element
task.display(arr, n);
// Move negative elements
task.moveNegative(arr, n);
// After arrange
Console.WriteLine("After Arrange : ");
// After move element
task.display(arr, n);
}
}
Output
Before Arrange :
1 -1 3 2 -7 -5 11 6
After Arrange :
1 6 3 2 11 -5 -7 -1
Please share your knowledge to improve code and content standard. Also submit your doubts, and test case. We improve by your feedback. We will try to resolve your query as soon as possible.
New Comment