Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

sortieralgorithmen kommentieren fuer mein verstaendnis?

Empfohlene Antworten

Veröffentlicht

hallo,

ich moechte einen erfahreneren anwendungsentwickler von euch mal bitten den nachfolgenden sortieralgorithmus "quicksort" zeilenweise zu kommentieren, damit ich nachvollziehen kann, was geschieht. .. mir ist der grundgedanke schon klar, aber ich verstehe den code nicht ... :(

es waere schoen, wenn das jemand von euch macht .. ich hoffe, dass das nicht zu viel verlangt ist ...

besten dank vorab!!!



public void quickSort(){
recQuickSort(0, nElems-1);
}

public void recQuickSort(int left, int right){
if(right-left <= 0)
return;
else{
Item pivot = a[right];

int partition = partitionIt(left, right, pivot);
recQuickSort(left, partition - 1);

recQuickSort(partition+1, right);
}
}



public int partitionIt(int left, int right, Item pivot){
int leftPTR = left-1;
int rightPTR = right;

while(true)
{
while (a[++leftPTR].toString().compareTo(pivot.toString()) < 0)
; // (nop)

while (rightPTR > 0 && a[--rightPTR].toString().compareTo(pivot.toString()) > 0)
; // (nop)

if (leftPTR >= rightPTR)
break;
else
swap(leftPTR, rightPTR);
}
swap(leftPTR, right);
return leftPTR;
}[/PHP]

Hi,

Den Algorithmus könnte ich dir erklären bzw. auch exemplarisch näher bringen, jedoch bin ich des php nicht mächtig und kann dir daher diesen Quellcode nicht kommentieren.

Ich könnte dir maximal einen in Delphi geschriebenen QC anbieten, mit kommentierung, da ich darüber mal ein Referat gehalten habe.

Mit freundlichem Gruß proxi

Hi,

jedoch bin ich des php nicht mächtig

Scheint aber Java zu sein ;)

hier: http://www.iti.fh-flensburg.de/lang/algorithmen/sortieren/quick/quick.htm ist der QuickSort auch noch mal in Java erklärt. Du kannst ja mal versuchen, dass an Hand deines Codes nachzuvollziehen (darum geht es dir ja). Dadurch lernst du es eher, als wenn wir dir jetzt den Code kommentieren. Denn schließlich sollst du es ja lernen und das geht am Besten, wenn man es eigenhändig macht :)

Scheint aber Java zu sein ;)

wenn dem so ist, brauch ich ja dazu nichtmehr viel sagen und habe mich wohl oder übel geoutet, weil java kann ich auch nicht :D

aber oben drüber steht php code, daher dachte ich es sei php, weil ich als laie sehe den unterschied eh nicht :)

und wozu mit java etwas implementieren, was man in php auch schreiben kann ...

naja ist ja auch egal :D

und wozu mit java etwas implementieren, was man in php auch schreiben kann ...

naja ist ja auch egal :D

??? Das ist jetzt nicht dein Ernst oder?!

Weil man für PHP nen Server (oder zumindest nen Emulator etc.) braucht und das damit für normale Offline Anwendungen eeeeher unbrauchbar ist ... wohingegen JAVA (nicht javascript) das super einfach und auch noch plattformunabhängig macht .... und auch von PHP zu Javascript gibts eindeutig Unterschiede ... weil PHP eben servermässig läuft und dort auch dateien bearbeiten kann was java script nicht kann .... dafür kann JS auf dem clientrechner wunderbar animationen laufen lassen ..... also .... jede Sprache für ihren Zweck!!!

gibt es auch noch einen leichteren javacode für quicksort???

Es gibt vielleicht bessere Varianten (Random-Quicksort), aber keinen wesentlich leichteren.

Quicksort ist echt ganz nett, wenn man sich damit beschäftigt.

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.