Hallo Zusammen!
Ich soll das folgende Programm in folgender Form abändern: Man sucht aus den durch Zufallsgenerator und in einem Array erfassten Zahlen das Minimun. Dies soll in einer Funktion "suche_minimun" erfolgen, indem man zuerst die erste Zahl ungleich 0 als Minimun wählt und dann die anderen durchgeht und ggf. wird dann eine kleinere Zahl ungleich 0 als neues Minimum gewählt. Dieses Minimun setzt man die erste Stelle eines neuen Array "neue_reihe", dessen Feldstellen zu Beginn alle mit 0 initialisiert wurden. Gleichzeitig wird im ursprünglichen Array an die STelle des entnommenen Minimums statt der alten Zahl eine 0 gesetzt zur Kennzeichnung, damit man beim nächsten Durchlauf weiß, dass diese STelle bereits entnommen wurde. Dann geht man erneut die ursprüngliche Reihe durch und sucht die nächst größere Zahl mit der Funktion "suche_minimun". Dieses Minimum kommt an die nächste STelle im neuen Arry. Nach Entnahme kommt wieder eine 0 an dieser Stelle in das ursprüngliche Array und so weiter.
Es wäre super, wenn mir jemand helfen könnte denn ich habe überhaupt keinen Durchblick mehr.
Hier das vorgebene bzw. mein altes Bubblesort-Programm.
<HTML>
<head>
<script language="javascript">
<!--
var a = new Array();
var b = new Array();
var tausch=0;
for (i=0;i<6;i++)
{ a[i] = Math.round((12*Math.random()));
b[i]= a[i];
}
function tausche (platz1,platz2)
{
tausch++
merke = a[platz1];
a[platz1] = a[platz2];
a[platz2] = merke;
}
function ausgabe (a,t1,t2)
{
document.writeln ("<tr>")
for (z=0; z<a.length;z++)
{
if((z==t1)||(z==t2))
{document.writeln ("<td bgcolor='yellow'>"+a[z]+"</td>")
}
else
{document.writeln ("<td>"+a[z]+"</td>")
}
}
document.writeln ("</tr>")
}
function bubble ()
{
for (i=0;i<a.length-1;i++)
{
document.writeln("<tr><td colspan=16 bgcolor='lightblue'>"+(i+1)+". Durchlauf:</td></tr>")
for (j=0;j<a.length-i-1;j++)
{
if (a[j] > a[j+1])
{tausche(j,j+1)
ausgabe(a,j,j+1)
}
}
}
}
function quick (anfang,ende)
{
var links =0
var rechts=0
if (anfang<ende)
{ links = anfang;
rechts= ende;
vergleich = a[Math.round((anfang+ende)/2-0.2)];
document.writeln("<tr><td colspan=16 bgcolor='lightblue'>Quick von "+anfang+" bis "+ende+" Vergleichswert: "+vergleich+"</td></tr>")
while (links<=rechts)
{
while (a[links]<vergleich)
{ links++;
}
while (a[rechts]>vergleich)
{ rechts--
}
if (links<=rechts)
{tausche (links,rechts);
ausgabe(a,links,rechts)
links++;
rechts--;
}
}
quick(anfang,rechts);
quick(links,ende);
}
}
function bub()
{
document.writeln("<center><h3>Demonstration von Bubblesort:</h3>");
tausch=0;
document.writeln("<table border=1 cellpadding =2 cellspacing =2>")
ausgabe(a,-1,-1)
bubble ();
document.writeln("</table>")
document.writeln("Tauschoperationen: "+tausch+"<br></center>")
}
-->
</script>
</head>
<body>
<div align="left">
<h4>Jenny Lau<B></b><br>
8. Juni 2005</h1>
</div>
<center>
<h3>Sortieren nach den Methoden Bubble- und Quicksort</h3>
<script language="javascript">
<!--
document.writeln("<table border=1 cellpadding =2 cellspacing =2>")
ausgabe(a,-1,-1)
document.writeln("</table>")
-->
</script>
<form target="_self">
<input type=button name="bubble" value="Bubblesort" onClick="bub()">
</form>
</center>
</html>