Granolaboy
Granolaboy

Reputation: 333

Testing my sorting function

I'm trying to sort an array of numbers using Selectionsort and generics and I'm feeling lost. I have an Interface with public T[] sort and public void swap. What do I have to fix to return a sorted array of integers?

My code is:

package sorting;

import java.lang.reflect.Array;

public class Selectionsort<T extends Comparable<T>> implements
    ISelectionsort<T> {

private T[] array;

@Override
public T[] sort(T[] array) {
    for (int i = 0; i < array.length; i++) {
        int k = i;
        for (int j = 0; j < array.length; j++) {
            if ((array[j].compareTo(array[k]) == -1))
                k = j;
        }
        if (k != i)
            swap(array, i, k);
    }

    return null;
}

@Override
public void swap(T[] array, int i, int j) {
    T tmp = array[i];
    array[i] = array[j];
    array[j] = tmp;

}

public static void main(String[] args) {
    Selectionsort<Integer> ss = new Selectionsort<Integer>();
    Integer[] array = { 4, 2, 9, 8 };

    System.out.println(ss.sort(array));
}
}

Upvotes: 0

Views: 141

Answers (1)

vishal_aim
vishal_aim

Reputation: 7854

start j from k:

for (int j = k; j < array.length; j++) {

return the same arary:

return array;

and print like :

    ss.sort(array);
    for (int i = 0; i < array.length; i++) {
        System.out.println(array[i]);
    }

Upvotes: 2

Related Questions