Java



           

Сортировка таблицы средствами JavaScript - часть 3


Ну что же, функции, необходимые для создания нашего многомерного массива готовы. Осталось создать массив и заполнить его данными:

Листинг 4:

1 var txt = []; 2 txt[ 0 ] = new fillArray( "1959", "фрейд", "сартр жан-поль" ); 3 txt[ 1 ] = new fillArray( "1940", "подростки", "сэлинджер джером" ); 4 txt[ 2 ] = new fillArray( "1946", "пена дней", "виан борис" ); 5 txt[ 3 ] = new fillArray( "1948", "осадное положение", "камю альбер" ); 6 txt[ 4 ] = new fillArray( "1899", "об иноческой жизни", "рильке райнер мария" ); 7 txt[ 5 ] = new fillArray( "1849", "аннабель Ли", "по эдгар" ); 8 txt[ 6 ] = new fillArray( "1917", "дагон", "лавкрафт говард" ); 9 txt[ 7 ] = new fillArray( "1915", "процесс", "кафка франц" ); 10 txt[ 8 ] = new fillArray( "1989", "египет Рамсесов", "монтэ пьер" ); 11 txt[ 9 ] = new fillArray( "1932", "мастер и Маргарита", "булгаков михаил" );

Обратить внимание стоит лишь на то, что года, когда были написаны книги, я передаю в функцию в качестве строкового параметра, а не числового. Делается это для того, чтобы не писать несколько функций сортировки.

Насколько быстр такой метод заполнения массива? На компьютере со средней производительностью загрузка 1000 элементов происходит за 450 - 800 миллисекунд. Но поскольку пользователь будет получать массив такого размера не сразу, а по частям, и размер этих частей будет сильно зависеть от скорости его соединения с интернет, то время, затрачиваемое на создание элемента массива и определение весовых значений его данных, будет незаметно пользователю.

Я подошел к самой интересной части данной статьи, а именно - к непосредственной работе с данными. В качестве функции сортировки данных я выбрал сортировку Хоара, которая, как мне кажется, наиболее соответствует поставленной задаче в начале статьи. Вот ее код, нюансы которого рассмотрю несколько более подробно.




Содержание  Назад  Вперед