Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > Общие вопросы

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 06.11.2003, 22:25
uzzer вне форума Посмотреть профиль Отправить личное сообщение для uzzer Найти все сообщения от uzzer
  № 1  
uzzer
 
Аватар для uzzer

Регистрация: Oct 2003
Адрес: холодная Эстония
Сообщений: 204
Attention сортировка

Подскажите алгоритм сортировки массива...
знаю нагло, но действительно надо срочно ...

Старый 06.11.2003, 22:29
uzzer вне форума Посмотреть профиль Отправить личное сообщение для uzzer Найти все сообщения от uzzer
  № 2  
uzzer
 
Аватар для uzzer

Регистрация: Oct 2003
Адрес: холодная Эстония
Сообщений: 204
юзал поиск array.sort не подойдёт ... если кому известно
есть методы bubble sort , qsort ... но я что-то ничего не понял ... точнее c C перевести что-то никак....интересует qsort

Старый 06.11.2003, 22:53
DUDE вне форума Посмотреть профиль Отправить личное сообщение для DUDE Посетить домашнюю страницу DUDE Найти все сообщения от DUDE
  № 3  
DUDE
 
Аватар для DUDE

Регистрация: Dec 2001
Адрес: n/a
Сообщений: 1,386
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, определяя аргумент функции.
Код:
 
var passwords = [
   "gary:foo",
   "mike:bar",
   "john:snafu",
   "steve:yuck",
   "daniel:1234"
 ];
 function order (a, b) {
   // Элементы записаны в форме
   // name:password
   // Сортируем, используя в качестве ключа
   // только часть name.
   var name1 = a.split(':')[0];
   var name2 = b.split(':')[0];
   if (name1 < name2) {
     return -1;
   } else if (name1 > name2) {
     return 1;
   } else {
     return 0;
   }
 }
 for (var i=0; i< password.length; i++) {
   trace (passwords.join());
 }
 passwords.sort(order);
 trace ("Sorted:");
 for (var i=0; i< password.length; i++) {
   trace (passwords.join());
 }
Предыдущий код отобразит следующий результат в окне Output:

daniel:1234
gary:foo
john:snafu
mike:bar
steve:yuck
__________________
Однажды, я захотел понюхать
кока-колу, но кубики льда,
застряли у меня в носу!

Старый 06.11.2003, 22:56
DUDE вне форума Посмотреть профиль Отправить личное сообщение для DUDE Посетить домашнюю страницу DUDE Найти все сообщения от DUDE
  № 4  
DUDE
 
Аватар для DUDE

Регистрация: Dec 2001
Адрес: n/a
Сообщений: 1,386
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
__________________
Однажды, я захотел понюхать
кока-колу, но кубики льда,
застряли у меня в носу!

Старый 07.11.2003, 00:23
uzzer вне форума Посмотреть профиль Отправить личное сообщение для uzzer Найти все сообщения от uzzer
  № 5  
uzzer
 
Аватар для uzzer

Регистрация: Oct 2003
Адрес: холодная Эстония
Сообщений: 204
я конечно хотел использовать алгоритм quick sort как в си... но раз такой исчерпывающий ответ... спасибо.

Думаю этого хватит...

хотя если кто выложит сюда алгоритм quick sort буду рад.

Старый 07.11.2003, 02:37
  № 6  
Suhoff
Guest

Сообщений: n/a
Код:
//QuickSort 
function sort_hoor (a, left, right) {
	var i = left;
	var j = right;
	var step = -1;
	var condition = 1;
	if (left>=right) {
		return;
	};
	do {
		if (condition == (a[i]<a[j])) {
			foo = a[j];a[j] = a[i]; a[i] = foo;
			foo = j;j = i;i = foo;

			step *= -1;
			condition = !condition;
		};
		j += step;
	} while (j != i);
	sort_hoor(a, left, i-1);
	sort_hoor(a, i+1, right);
};
a - сортируемый массив;
left - минимальный сортируемый индекс массива (обычно = 0);
right - максимальный сортируемый индекс массива (обычно = a.length-1);

Удачи.

Старый 15.01.2004, 19:56
Nickoledion вне форума Посмотреть профиль Найти все сообщения от Nickoledion
  № 7  
Nickoledion

Регистрация: Dec 2003
Адрес: Самара
Сообщений: 10
Цитата:
Оригинал написал(а) DUDE
[b]Array.sortOn

Доступность:
Flash Player 6.

Синтаксис:
Array.sortOn(fieldName)

Параметры:
fieldName - это строка (String), которая идентифицирует область в элементе массива для сортировки.

...
Правда ведь, что этот метод иногда глючит? (как правило первый элемент становится последним) Или этот косяк только у меня?

Старый 16.01.2004, 08:50
nuran вне форума Посмотреть профиль Отправить личное сообщение для nuran Найти все сообщения от nuran
  № 8  
nuran

Регистрация: Apr 2003
Адрес: DC
Сообщений: 4,489
http://algolist.manual.ru/sort/index.php
__________________
flash/flex/unity

Создать новую тему   Часовой пояс GMT +4, время: 00:48.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 00:48.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.