Algoritmus bubble-sort ve WMLScriptu

Příklad seřazení zadaných čísel pomocí algoritmu bubble-sort demonstruje možnost využití práce s řetězci namísto datového typu pole.

Bohužel neexistují on-line emulátory s podporou WMLScripu.
Kompletní příklad ke stažení: bubble.zip

***bubble.wmls***
extern function bubble(retezec){
var vysledek = false;
var i;
var temp;

while (!vysledek){
vysledek = true;
for (i = 0 ; i < 5; i++) {
var a = String.elementAt(retezec,i,",");
var b = String.elementAt(retezec,i+1,",");
if (a > b) {
temp = String.elementAt(retezec,i+1,",");
retezec = String.replaceAt(retezec,a,i+1,",");
retezec = String.replaceAt(retezec,temp,i,",");
vysledek = false;
}
}
}
WMLBrowser.setVar("retezec",retezec);
WMLBrowser.go("bubble.wml#vysl");
}


***bubble.wml***
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">

<wml>
<card id = "bubble" title = "Bubble Sort">
<onevent type = "onenterforward">
<refresh>
<setvar name = "retezec" value = ""/>
</refresh>
</onevent>
<p>
Zadejte 5 cilel oddelenych carkou v rozmezi 0 - 99:<br/>
<input name = "retezec"/><br/>
<a href = "bubble.wmls#bubble('$(retezec)')">Seradit</a>
</p>
</card>

<card id = "vysl" title = "Vysledek">
<p>
Vysledek je:$(retezec)<br/>
</p>
</card>
</wml>