Skip to main content

Quicksort in C#

using System;

public class Test
{
public static void Main()
{
var unsorted = Console.ReadLine().Split(' ');
int[] a = Array.ConvertAll(unsorted,x=>int.Parse(x));
int n= a.Length;
Quicksort(a,0,n-1);
for(int i=0;i<n;i++)
{
Console.WriteLine(a[i]);
}
}
public static void Quicksort(int[] a,int low,int high)
{
if(low<high)
{
int pi= Partition(a,low,high);
Quicksort(a,low,pi-1);
Quicksort(a,pi+1,high);
}
}
public static int Partition(int[]a,int low,int high)
{
int pivot = a[high];
int i = low-1;
for(int j=low;j<=high-1;j++)
{
if(a[j]<pivot)
{
i++;
int temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
int temp2 = a[high];
a[high]=a[i+1];
a[i+1]=temp2;
return i+1;
}
}

Comments

Popular posts from this blog

BEGINNER's ALPHABET PALINDROME

PRINT ALPHABET PALINDROMIC PYRAMID USING C# using System; public class Test {       public static void Main()       {             var number = Console.ReadLine();             int n = Convert.ToInt32(number);             Pattern print = new Pattern();             print.PrintPalindromePattern(n);       } } public class Pattern {       public void PrintPalindromePattern(int n)       {             int dummy = 1;             char letter = 'A';             int reversep...

MINIMUM DISTANCE BETWEEN TWO SIMILAR STRINGS

LATEST using System ; using System . Linq ; public class Test { public static void Main () { int arrayLength ; int T = Convert . ToInt32 ( Console . ReadLine ()); for ( int i = 0 ; i < T ; i ++) { arrayLength = Convert . ToInt32 ( Console . ReadLine ()); string Line = Console . ReadLine (); GetMinimumDistanceBetweenStrings ( arrayLength , Line ); } } public static void GetMinimumDistanceBetweenStrings ( int length , string Line ) { int min = - 1 ; int initial = 0 ; string [] stringArray = Line . Split ( " " ); for ( int start = 0 ; start < length - 1 ; start ++) { for ( int a = start + 1 ; a <= length - 1 ; a ++) { if ( stringArray [ start ]== stringArray [ a ]) { if ( initial == 0 ) ...

GRANDSON PROBLEM

https://www.geeksforgeeks.org/zoho-interview-set-1-campus/ Given a two dimensional array of string like <”luke”, “shaw”> <”wayne”, “rooney”> <”rooney”, “ronaldo”> <”shaw”, “rooney”> Where the first string is “child”, second string is “Father”. And given “ronaldo” we have to find his no of grandchildren Here “ronaldo” has 2 grandchildren. So our output should be 2. SOLUTION using System; public class Test { public static void Main() { var noOfInputs = Console.ReadLine(); int noOfInputLines = Convert.ToInt32(noOfInputs); string[,] FatherSonArray= new String[noOfInputLines,noOfInputLines]; for(int father=0;father<noOfInputLines;father++) { for(int son=0;son<2;son++) { FatherSonArray[father,son] = Console.ReadLine(); } }     Console.WriteLine("No of grandchildrens:");     string GrandFather = Console.ReadLine();     int NoOfGrandSons=0;     Console.Wr...