Nabend Leute!
Bin grade dabei mein QuickSort Programm abzuschließen und komme nicht weiter. Und zwar wird mir als Fehler "incompatible Types" ausgegeben. Eigentlich ist dies ja ziemlich logisch aber leider hänge ich grade genau an diesem Fehler und weiß nicht wie ich diesen umgehen kann.
Bei einer Lösung würde ich mich freuen!
Bin grade dabei mein QuickSort Programm abzuschließen und komme nicht weiter. Und zwar wird mir als Fehler "incompatible Types" ausgegeben. Eigentlich ist dies ja ziemlich logisch aber leider hänge ich grade genau an diesem Fehler und weiß nicht wie ich diesen umgehen kann.
Java:
public class Zahlenliste
{
private int [] zahlen;
public Zahlenliste()
{
zahlen = new int [(int)(Math.random()*30+20)];
}
public void zahlenErzeugen() {
for (int i=0;i<zahlen.length;i++) {
zahlen[i] = (int) (Math.random()*100);
}
}
public boolean istGroesser(int a, int b) { // istGroesser = TRUE dann Tauschen, linke Zahl > rechte Zahl
if (zahlen[a] > zahlen[b]){
return true;
}
else {
return false;
}
}
public void tausche(int a, int b) {
int helpvar = zahlen[a];
zahlen[a] = zahlen[b];
zahlen[b] = helpvar;
}
public void bubbleSort() {
int ende = 0;
while (ende == 0) {
ende = 1;
for (int i=0;i<(zahlen.length-1);i++){
if (zahlen[i] > zahlen[i+1]) {
tausche(i , i+1);
ende = 0;
}
}
}
}
public void selectionSort() {
int hv = 999; //Hilfsvariable
int merke_i = 999;
int [] ZahlenNachher = new int [zahlen.length];
for (int j=0;j<zahlen.length;j++) {
for (int i=0;i<zahlen.length;i++)
if (zahlen[i] < hv) {
hv = zahlen[i];
merke_i = i;
}
ZahlenNachher[j] = hv;
hv = 999;
zahlen[merke_i]=999;
}
zahlen = ZahlenNachher;
}
public void quickSort() {
int links = 0;
int rechts = zahlen.length-1;
quickSort(zahlen, links, rechts);
}
private static void quickSort(int zahlen[], int links, int rechts) {
int i = links+1;
int j = rechts;
int pivot = zahlen[0];
do{
while (zahlen[i] < pivot) {
i++;
}
while (zahlen[j] > pivot) {
j--;
}
if (i <= j) {
int tmp = zahlen[i];
zahlen[i] = zahlen[j];
zahlen[j] = tmp;
i++;
j--;
}
}while (i<j);
if (links <= j) {
zahlen = quickSort(zahlen, links, j);
}
if (i <= rechts) {
zahlen = quick_Sort(zahlen, i, rechts);
}
}
public String zahlenAusgeben() {
String dummy = "";
for (int i=0;i<zahlen.length;i++) {
dummy = dummy + zahlen[i] + '\n';
}
return dummy;
}
public int getLength() {
return zahlen.length;
}
}
Bei einer Lösung würde ich mich freuen!