Advertisement
Guest User

Untitled

a guest
Dec 22nd, 2013
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.43 KB | None | 0 0
  1. using System;
  2.  
  3. class Program
  4. {
  5.  
  6.     static void Partition(int start , int end)
  7.     {
  8.         if(start < end)
  9.         {
  10.             int pivot = arr[start];
  11.             int ii, jj;
  12.             ii = start-1;
  13.             jj = end+1;
  14.  
  15.             while (ii < jj)
  16.             {
  17.                 ii++;
  18.                 while(arr[ii] < pivot)
  19.                 {
  20.                     ii++;
  21.                 }
  22.                 jj--;
  23.                 while(arr[jj] > pivot)
  24.                 {                
  25.                     jj--;
  26.                 }
  27.  
  28.                 if (ii < jj)
  29.                 {
  30.                     int element;
  31.                     element = arr[ii];
  32.                     arr[ii] = arr[jj];
  33.                     arr[jj] = element;
  34.                 }
  35.             }
  36.             Partition(start, jj);
  37.             Partition(jj+1, end);
  38.         }
  39.     }
  40.  
  41.     public static int[] arr;
  42.    
  43.     static void Main()
  44.     {
  45.         Console.Write("Enter size of the array: ");
  46.         int size = int.Parse(Console.ReadLine());
  47.         arr = new int[size];
  48.  
  49.         Random rnd = new Random();
  50.  
  51.         for (int k = 0; k < size; k++)
  52.         {
  53.             arr[k] = rnd.Next(-10,10);
  54.         }
  55.  
  56.         Partition(0,size-1);
  57.  
  58.         Console.WriteLine("Sorted array: ");
  59.         for (int i = 0; i < size; i++)
  60.         {
  61.             Console.Write(arr[i] + " ");
  62.         }
  63.         Console.ReadLine();        
  64.     }
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement