Quick Sort - JavaScript
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.
Struktogramm
Programm
sortieren
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>
Download
qsort.html
(Rechts-Click, speichern unter)
Home
|
Java
|
Java-Script
|
C++
|
Turbo-Pascal
|
HTML
|
CControl
|
AVR
|
IPAQ