using System.Diagnostics;
int[] arr = { 2, 4, 6, 12, 0, 14, 19, -2 };
Console.WriteLine("Original array : ");
for (int j = 0; j <= arr.Length - 2; j++)
for (int i = 0; i <= arr.Length - 2; i++)
Console.WriteLine("sorted array: ");
int[] arr = { 2, 4, 6, 12, 0, 14, 19, -2 };
Console.WriteLine("Original array : ");
for (i = 0; i < arr.Length; i++)
for (j = i; j > 0 && arr[j - 1] > curr; j--)
Console.WriteLine("insertion sorted array: ");
public void sort(int[] arr)
for (int i = n / 2 - 1; i >= 0; i--)
for (int i = n - 1; i >= 0; i--)
void heapify(int[] arr, int n, int i)
if (l < n && arr[l] > arr[largest])
if (r < n && arr[r] > arr[largest])
heapify(arr, n, largest);
public void printArray(int[] arr)
for (int i = 0; i < n; ++i)
Console.Write(arr[i] + " ");
static int partition(int[] arr, int low,
for (int j = low; j < high; j++)
public void quickSort(int[] arr, int low, int high)
int pi = partition(arr, low, high);
quickSort(arr, low, pi - 1);
quickSort(arr, pi + 1, high);
public void printArray(int[] arr, int n)
for (int i = 0; i < n; ++i)
Console.Write(arr[i] + " ");
int[] arr = { 10, 7, 8, 9, 1, 5 };
Console.WriteLine("*********Quick Sort**********");
Console.WriteLine("orginal array:");
quickSort(arr, 0, n - 1);
Console.WriteLine("sorted array ");
static public void MainMerge(int[] numbers, int left, int mid, int right)
int[] temp = new int[25];
num = (right - left + 1);
while ((left <= eol) && (mid <= right))
if (numbers[left] <= numbers[mid])
temp[pos++] = numbers[left++];
temp[pos++] = numbers[mid++];
temp[pos++] = numbers[left++];
temp[pos++] = numbers[mid++];
for (i = 0; i < num; i++)
numbers[right] = temp[right];
static public void SortMerge(int[] numbers, int left, int right)
mid = (right + left) / 2;
SortMerge(numbers, left, mid);
SortMerge(numbers, (mid + 1), right);
MainMerge(numbers, left, (mid + 1), right);
int[] arr = { 2, 4, 6, 12, 0, 14, 19, -2 };
Console.WriteLine("**********Merge Sort*********");
Console.WriteLine("Original array : ");
Console.WriteLine("sorted array:");
SortMerge(arr, 0, arr.Length - 1);
for (int i = 0; i < arr.Length; i++)
Console.Write(arr[i] + "\t");
public static void Main()
Program p = new Program();
Stopwatch i = new Stopwatch();
Console.WriteLine("Time taken by InsertionSort is: {0} milli", i.Elapsed.TotalMilliseconds);
Console.WriteLine("***Bubble Sort****");
Stopwatch b = new Stopwatch();
Console.WriteLine("Time taken by bubblesort is: {0} milli", b.Elapsed.TotalMilliseconds);
Console.WriteLine("****Heap Sort***");
int[] arr = { 12, 11, 13, 5, 6, 7,8,1,3,66,45,0,12,34,54,22,465,-2,66,43,54,43,42,41,67 };
Console.WriteLine("orginal array:");
HeapSort ob = new HeapSort();
Stopwatch h = new Stopwatch();
Console.WriteLine("sorted array:");
Console.WriteLine("Time taken by HeapSort is: {0} milli", h.Elapsed.TotalMilliseconds);
Stopwatch q = new Stopwatch();
quicksort quk = new quicksort();
Console.WriteLine("Time taken by QuickSort is: {0} milli", q.Elapsed.TotalMilliseconds);
Stopwatch m = new Stopwatch();
MergeSort me = new MergeSort();
Console.WriteLine("Time taken by MergeSort is: {0} milli", m.Elapsed.TotalMilliseconds);