Programmierung

Quick Sort - JavaScript


 
  1. Aufgabe

    Schnelles Sortieren durch Teilen und anschließendem  rekursivem Sortieren der Teile unabhängig voneinander.

    Für das Sortieren von N Elementen werden ungefähr N log N Operationen benötigt.

  2. Struktogramm

    Quick-Sort

  3. Programm




  4. Quellcode

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    <head>
      <title>
    DG1XPZ - JavaScript-Programmierung, Quick-Sort</title>
      <script language=JavaScript>
     
    <!--
      var sortArray=new Array( );
      var l=0;
      var r=0;
      function quick( ){
         var ergebnis="";
         for (i=0;i<document.algorithmus.eingabe1.length;i++){
            sortArray[i]=document.algorithmus.eingabe1[i].value;
         }
         qsort(0,document.algorithmus.eingabe1.length-1); 
         for (i=0;i<sortArray.length;i++){
            ergebnis=ergebnis+sortArray[i]+",";
         }
         document.algorithmus.ausgabe1.value=ergebnis;
      }
      function qsort(l,r){
         var v=0;
         var j=0;
         var i=0;
         var t=0;
         if(r > l){
            v=sortArray[r];
            i=l-1;
            j=r;
            t=0;
            do{
               do{
                  i++;
               }while(eval(sortArray[i])<v);
               do{
                  j--;
               }while(eval(sortArray[j])>v && j!=0);
               t=sortArray[i];
               sortArray[i]=sortArray[j];
               sortArray[j]=t;
            }while(j>i);
            sortArray[j]=sortArray[i];
            sortArray[i]=sortArray[r];
            sortArray[r]=t;
            qsort(l,i-1);
            qsort(i+1,r);
         }
      }

      //-->
    </script>
    </head>
    <body>
    <table height=
    "78" width="476"><tr><td align=center height="74" width="468">
    <form action=
    "" method=post name=algorithmus target="">
    <input name=
    eingabe1 value=9 size=3><input name=eingabe1 value=5 size=3><input name=eingabe1 value=8 size=3>
    <input name=
    eingabe1 value=6 size=3><input name=eingabe1 value=3 size=3><input name=eingabe1 value=7 size=3>
    <input name=
    eingabe1 value=4 size=3><input name=eingabe1 value=0 size=3><input name=eingabe1 value=1 size=3>
    <input name=
    eingabe1 value=2 size=3><br>
    <button onclick=
    quick( ) value="algorithmus">sortieren</button><br>
    <input name=
    ausgabe1 size="67">
    </form>
    </td></tr></table>
    </body>
    </html>


  5. Download qsort.html (Rechts-Click, speichern unter)

 

http://www.counter-service.de http://www.counter-service.de

Home
uebermich
Programmierung
Amateurfunk
Elektronik
Download
Links
E-Mail
Gästebuch/Meckerecke
Counter-DG1XPZ