さて、私は並べ替えアプリケーションを作成しようとしていますが、それは私の頭を悩ませています。考えすぎたせいかもしれません。
私が欲しかったもの
- おそらくバブルソートを使用して、配列から値をソートしたい
<tr>
各反復をテーブルにプッシュしたい- どの値が置き換えられたかを知ることができます
何が起こらなければならないか
- 反復ごとに、値のリストを取得します
- 各リストは、影響を受ける値を強調表示します
私が現在持っているもの
var sort = {
init : function() {
sort.vars.$oldList = [6,4,7,1,8];
sort.play.bubble();
}
}
sort.vars = {
$oldList : new Array(),
$newList : new Array()
}
sort.play = {
bubble : function() {
var list = sort.vars.$oldList;
var n = list.length;
var isSorted = false;
while(!isSorted) {
var tmp, i;
isSorted = true;
for (i = 0; i < n; i++) {
if (list[i] > list[i+1]) {
tmp = list[i];
list[i] = list[i+1];
list[i+1] = tmp;
isSorted = false;
}
sort.ui.pushtToTable(list);
}
}
}
}
sort.ui = {
pushtToTable : function(list) {
$.each(list, function(n, val){
$('tr').append('<td>' + val);
})
}
}
$(document).ready(function(){
sort.init();
})
可能であれば、タイムアウトを設定して、値を 1 つずつ表示したかったのではないでしょうか。