Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace quick_sort
- {
- class Program
- {
- static void Main(string[] args)
- {
- //Quick Sort with Recursion
- int[] arr = { 8, 6, 1, 4, 9, 2, 3 };
- int start = 0;
- int pivot = arr.Length - 1;
- quick_sort(arr, start, pivot);
- foreach(var item in arr)
- {
- Console.WriteLine(item);
- }
- }
- static int partition(int []arr, int start,int pivot)
- {
- int i = start - 1;
- for(int j= start; j<= pivot-1; j++)
- {
- if(arr[j] <= arr[pivot - 1])
- {
- i = i + 1;
- int temp = arr[i];
- arr[i] = arr[j];
- arr[j] = temp;
- }
- }
- int tmp = arr[pivot];
- arr[pivot] = arr[i + 1];
- arr[i + 1] = tmp;
- return i + 1;
- }
- static void quick_sort(int []arr,int start,int pivot)
- {
- if(start <= pivot)
- {
- int q = partition(arr, start, pivot);
- quick_sort(arr, start, q - 1);
- quick_sort(arr, q + 1, pivot);
- }
- }
- }
- }
Add Comment
Please, Sign In to add comment