Показать сообщение отдельно
  #1 (permalink)  
Старый 22.01.2012, 13:43
Новичок на форуме
Отправить личное сообщение для Moterut Посмотреть профиль Найти все сообщения от Moterut
 
Регистрация: 22.01.2012
Сообщений: 1

Визуализация сортировки.
Братцы, помогите, пожалуйста!
Есть вот такой скрипт. Сортирует заданный массив.
<html>
    <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=cp-1251">
        <script type="text/javascript">
            var my_arr = new Array(24,29,28,51,26,67,30,23,22,42,20,11,18,17,100,15,14,13,12,9,10,11,55,7,6,5,200,3,2,1);
            var changed = 0;
            function sort_iteration(arr) {
                
                changed = 0;
                
                for (i = 1; i < arr.length; i++) {
                    if (arr[i] < arr[i-1]) {
                        tmp = arr[i];
                        arr[i] = arr[i-1];
                        arr[i-1] = tmp;
                        changed = 1;
                    }
                }
                
                return changed;
                
            }
            
            function show_arr(arr) {
                sort_iteration(arr);
                if (changed == 0) {
                    clearInterval(handler);
                    alert('Сортировка окончена!');
                }
                line = '';
                for (i = 0; i < arr.length; i++) {
                    line = line + ' ' + arr[i];
                }
                document.getElementById("array").innerHTML =line;
            }
            
            var handler = setInterval('show_arr(my_arr)',1000);
        </script>
    </head>
    <body>
        <div id="array"></div>
    </body>
</html>


1. Можно ли задавать элементы рандомно при каждом запуске скрипта ?
2. Нужна яркая, анимированная визуализация процесса сортировки. Аналог вот этого - http://habrahabr.ru/blogs/algorithm/117200/
Мне посоветовали что можно сделать следующим образом: вставляем 30 элементов в таблицу <img src "1.jpg" id="1"> ну и так далее до 30. Картинки рисуем заранее сами от 1 до 30. А потом вместо его текстового вывода начинаем этим элементам через свойство
position менять их местоположение. Вот только как это выполнить я не знаю, в кодинге не разумею.
Ответить с цитированием