All pastes #69702 Raw Edit

Unnamed

public text v1 · immutable
#69702 ·published 2006-06-23 09:57 UTC
rendered paste body
public class SelectionSort implements Sorter {

	private Comparable unsortiert[];

	private boolean ende = false;

	private int kleinstesE = -1;

	private int zaehler = 0;

	private int next = 0;

	private Object sortiert[];

	public void sort(Comparable[] data) {

		this.unsortiert = new Comparable[data.length];
		this.sortiert = new Object[data.length];

		if (data.length == 0) {

			System.out.println("Leere Menge");
			return;

		} else {
			for (int next = 0; next < data.length; next++) {

				this.unsortiert[next] = data[next];

			}
		}

		do {
			findMinimum(unsortiert, next);
			this.next++;

			System.out.println(next);
		} while (ende == false);
		return;
	}

	private void findMinimum(Comparable[] data, int next) {

		if (kleinstesE == -1) {
			this.kleinstesE = next;
		} else if (0 > data[next].compareTo(data[kleinstesE])) {
			this.kleinstesE = next;
		}

		if (next == (data.length - 1) - zaehler) {

			swap(data, kleinstesE);

		}
	}

	private void swap(Comparable[] data, int kleinstesE) {

		this.sortiert[zaehler] = data[kleinstesE];
		this.unsortiert[kleinstesE] = unsortiert[(unsortiert.length - 1)
				- zaehler];
		this.unsortiert[(unsortiert.length - 1) - zaehler] = null;
		this.kleinstesE = 0;
		this.zaehler++;
		this.next = 0;

		if (kleinstesE == 1 & unsortiert[2] == null) {
			this.sortiert[sortiert.length - 1] = unsortiert[0];
			this.unsortiert = null;
			this.ende = true;
			return;
		}

	}

	public  Object [] getSorted() {
			
		for (int i = 0; i < sortiert.length;i++) 
		return sortiert[i];
		
	}

}