Wednesday, June 8, 2011

Insertion sort

package algorithms.sort;

/**
 *
 * @author Nageswara Rao. V
 * @version 1.0 date : June 8, 2011
 */
public class InsertionSort {
    public static int[] insertionSort(int[] src) {
        for(int pos = 1; pos < src.length; pos++) {
            int i = pos;
            while((i>0) && (src[i] < src[i-1])) {
                swap(src, i, i-1);
                i = i-1;
            }
        }
        return src;
    }

    public static void swap(int[] src, int start, int end) {
        src[start] = src[start]+src[end];
        src[end] = src[start] - src[end];
        src[start] = src[start] - src[end];
    }

    public static void print(int[] src) {
        for(int i=0; i < src.length; i++) {
            System.out.print(src[i]+" ");
        }
    }

    public static void main(String args[]) {
        int[] src = {4, 3, 8, 2, 1, 0};
        System.out.println("\nSource");
        print(src);
        insertionSort(src);
        System.out.println("\nResult");
        print(src);
        System.out.println("\n");
    }
}

No comments:

Post a Comment