![]() |
сортировка
Подскажите алгоритм сортировки массива...
знаю нагло, но действительно надо срочно ... |
юзал поиск array.sort не подойдёт ... если кому известно
есть методы bubble sort , qsort ... но я что-то ничего не понял ... точнее c C перевести что-то никак....интересует qsort |
Array.sort
Доступность—Flash Player 5. Синтаксис: myArray.sort([compareFunction]) Параметры compareFunction Произвольная сравнивающая функция, определяющая порядок сортировки. Учитывая аргументы А и В, функция orderfunc должна выполнять сортировку следующим образом: -1 если A появляется прежде, чем B в сортируемой последовательности 0 если A = B 1 если A появляется после B в сортируемой последовательности Возвращает Ничего. Описание: Метод, сортирует массив на месте без создания копии. Если Вы опустите аргумент compareFunction, Flash сортирует элементы на месте, используя оператор сравнения <. Пример: Использование метода Array.sort без указания аргумента compareFunction: var fruits = ["oranges", "apples", "strawberries", "pineapples", "cherries"]; trace(fruits.join()); // выведет в окно Output oranges,apples,strawberries,pineapples,cherries fruits.sort(); trace(fruits.join()); // выведет apples,cherries,oranges,pineapples,strawberries Использование Array.sort, определяя аргумент функции. Код:
daniel:1234 gary:foo john:snafu mike:bar steve:yuck |
Array.sortOn
Доступность: Flash Player 6. Синтаксис: Array.sortOn(fieldName) Параметры: fieldName - это строка (String), которая идентифицирует область в элементе массива для сортировки. Возвращает: Ничего. Описание: Метод, сортирует однотипные элементы в массиве. Если параметр fieldName не задан, функция не работает. Если задано несколько параметров fieldName, первое значение преобразовывается в строку (String), а остальные параметры игнорируются. Если ни один из сравниваемых элементов не содержит область, указанную в fieldName, сортировка происходит также, как и в методе Array.sort. Пример: Этот пример создает новый массив и сортирует его в алфавитном порядке по city: var recArray = new Array(); recArray.push( { name: "bob", city: "omaha", zip: 68144 } ); recArray.push( { name: "greg", city: "kansas city", zip: 72345 } ); recArray.push( { name: "chris", city: "burlingame", zip: 94010 } ); recArray.sortOn("city"); // результат будет следующим: recArray[0] = name: "chris", city: "burlingame", zip: 94010 recArray[1] = name: "greg", city: "kansas city", zip: 72345 recArray[2] = name: "bob", city: "omaha", zip: 68144 |
я конечно хотел использовать алгоритм quick sort как в си... но раз такой исчерпывающий ответ... спасибо.
Думаю этого хватит... хотя если кто выложит сюда алгоритм quick sort буду рад. |
Код:
//QuickSort left - минимальный сортируемый индекс массива (обычно = 0); right - максимальный сортируемый индекс массива (обычно = a.length-1); Удачи. |
Цитата:
|
|
| Часовой пояс GMT +4, время: 23:34. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.