skip to main | skip to sidebar

Java Programs and Examples with Output

Pages

▼
 
  • RSS
  • Twitter
Saturday, October 6, 2012

Sorting - Quick Sort using Java

Posted by Raju Gupta at 2:17 AM – 0 comments
 
Quick Sort is one of best sorting algorithm to sort the numbers by finding the mid element and sorting them as indivudual section.

import java.util.Random;
import java.util.Date;

class QSortAlgorithm {
    static public void main(String args[]) {
        int n = Integer.parseInt(args[0]);
        int a[] = new int[n];
        long time;
        initialize(a, n);
        System.out.println("Sorting "+n+" elements...");
        time = (new Date()).getTime();
        sort(a);
        time = (new Date()).getTime() - time;
        System.out.println("Sorted in "+time+" milliseconds.");
    }
    static void initialize(int a[], int n) {
        Random random;
        random = new Random();
        for (int i=0; i < n; i++) {
            a[i] = random.nextInt();
         }
    }

 static void sort(int a[], int lo0, int hi0) {
        int lo = lo0;
        int hi = hi0;
        if (lo >= hi) {
            return;
        }
	

        int mid = a[(lo + hi) / 2];
         while (lo < hi) {
            while (lo<hi && a[lo] < mid) {
                lo++;
            }
            while (lo<hi && a[hi] >= mid) {
                hi--;
            }
            if (lo < hi) {
                int T = a[lo];
                a[lo] = a[hi];
                a[hi] = T;
            }
        }
        if (hi < lo) {
            int T = hi;
            hi = lo;
            lo = T;
        }
        sort(a, lo0, lo);
        sort(a, lo == lo0 ? lo+1 : lo, hi0);
    }

    static void sort(int a[]) {
        sort(a, 0, a.length-1);
    }
}

Leave a Reply

Newer Post Older Post
Subscribe to: Post Comments ( Atom )
  • Popular
  • Recent
  • Archives
Powered by Blogger.
 
 
 
© 2011 Java Programs and Examples with Output | Designs by Web2feel & Fab Themes

Bloggerized by DheTemplate.com - Main Blogger