Jenny: Bubbelsort

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>

  1. hi,

    Ich soll das folgende Programm in folgender Form abändern:

    das klingt irgendwie nach einer hausaufgabe ...

    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.

    zumindest einen ansatz oder ein paar eigene überlegungen solltest du schon vorlegen können - das hier ist nicht der ort, um deine hausaufgaben abzugeben und eine fertige lösung zurück zu bekommen.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Hallo!

      Das ist keine Hausaufgabe, nur eine Vorbereitungsübung. Es ja nicht so, dass ich mir keine Gedanken gemacht habe, aber ich kenne die Funktionen überhaupt nicht und ich möchte auch keine komplette Lösung.

      Meine Gedanken hierzu, waren die, dass ich versucht habe den gesamten "Tausch" zu ändern, dass hat aber damit nicht funktioniert.

      Wäre doch sehr hilfreich, wenn Du mir eine Hilfestellung gibst.

      Vielen Dank
      Jenny

      hi,

      Ich soll das folgende Programm in folgender Form abändern:

      das klingt irgendwie nach einer hausaufgabe ...

      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.

      zumindest einen ansatz oder ein paar eigene überlegungen solltest du schon vorlegen können - das hier ist nicht der ort, um deine hausaufgaben abzugeben und eine fertige lösung zurück zu bekommen.

      gruß,
      wahsaga

      1. Hallo!

        vielleicht hilft Dir der Tip unter https://forum.selfhtml.org/?t=109208&m=681846 auch?

        Gruß
        Reiner