Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Удаление лишних элементов массива (http://www.flasher.ru/forum/showthread.php?t=150087)

bumb0x 06.02.2011 03:28

Удаление лишних элементов массива
 
Помогите решить задачку:
Есть числовой массив, отсортированный по убыванию(к примеру [20...0]). В него, на случайные позиции, добавляются числа от 0 до 20. После этого из него необходимо удалить эти элементы, чтобы на выходе получился исходный массив. Сортировку использовать нельзя.
Чето не могу ничего сообразить :(

i.o. 06.02.2011 03:38

Array#splice()

bumb0x 06.02.2011 03:53

это инструмент для удаления, задача же состоит в поиске индексов элементов для удаления

i.o. 06.02.2011 04:00

ну дык идем по массиву и сравниваем текущий элемент с предыдущим - если их величины противоречат сортировке, то один из них удаляем.
Повторяем этот шаг до тех пор, пока весь массив не станет "ровным".

in4core 06.02.2011 04:02

проверяй. типа
Код AS3:

 if(index > index + 1 && index < index-1)

(это если по убыванию) удаляем этот индекс , индексы ищем в цикле. Думаю проблем не будет))

i.o. 06.02.2011 04:27

Код AS3:

 if(index > index + 1 && index < index-1)

in4core, ты сегодня многое сделал, отдохни.

Добавлено через 3 минуты
ну если это не буквально воспринимать, то да - смысл такой.

TanaTiX 06.02.2011 13:10

Думаю более универсальным будет определить количество лишних элементов и пересоздать массив. Таким образом имеем только 2 прохода, не зависимо от количества повторов в массиве. Это при условии, что массив соответствует условиям, описанным в 1м посте.


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

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