Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   оптимизация сортировки (http://www.flasher.ru/forum/showthread.php?t=34140)

efim 08.07.2002 15:17

оптимизация сортировки
 
Дорогие господа флашеры

сталкнулся сейчас с не приятной проблемой

на обычную сортировку массива imagesArray.sort();

происходит зависание то бишь action script run slow

и вторая проблемма (могу рeшить сомостоятельно через поиск)

split переписать чтоб быстрей работал

Спасибо заранее

derhab 08.07.2002 15:24

Исходник покажи, пожалуйста, или скрипт напиши...

efim 08.07.2002 15:33

скрипт кину только не бейте сильно :D


for (i=1963; i<=2002; i++) {
this["y"+i] = [];
//обьявляем массивы изображений
this["n"+i] = [];
//обьявляем массивы текстов
}
for (i in imagesArray) {
var t = "n"+imagesArray[i].split(".jpg")[0];
textArray.push(t);
//выделяем что грузить в текстовое
}
//imagesArray.sort(Fn);
//textArray.sort();//сортируем
for (i in textArray) {
var nameText = textArray[i].split("_")[0];
if (nameText == "n1963") {
n1963.push(textArray[i]);
}
if (nameText == "n1964") {
n1964.push(textArray[i]);
}
if (nameText == "n1965") {
n1965.push(textArray[i]);
}
if (nameText == "n1966") {
n1966.push(textArray[i]);
}
if (nameText == "n1967") {
n1967.push(textArray[i]);
}
if (nameText == "n1968") {
n1968.push(textArray[i]);
}
if (nameText == "n1969") {
n1969.push(textArray[i]);
}
if (nameText == "n1970") {
n1970.push(textArray[i]);
}
if (nameText == "n1971") {
n1971.push(textArray[i]);
}
if (nameText == "n1972") {
n1972.push(textArray[i]);
}
if (nameText == "n1973") {
n1973.push(textArray[i]);
}
if (nameText == "n1974") {
n1974.push(textArray[i]);
}
if (nameText == "n1975") {
n1975.push(textArray[i]);
}
if (nameText == "n1976") {
n1976.push(textArray[i]);
}
if (nameText == "n1977") {
n1977.push(textArray[i]);
}
if (nameText == "n1978") {
n1978.push(textArray[i]);
}
if (nameText == "n1979") {
n1979.push(textArray[i]);
}
if (nameText == "n1980") {
n1980.push(textArray[i]);
}
if (nameText == "n1981") {
n1981.push(textArray[i]);
}
if (nameText == "n1982") {
n1982.push(textArray[i]);
}
if (nameText == "n1983") {
n1983.push(textArray[i]);
}
if (nameText == "n1984") {
n1984.push(textArray[i]);
}
if (nameText == "n1985") {
n1985.push(textArray[i]);
}
if (nameText == "n1986") {
n1986.push(textArray[i]);
}
if (nameText == "n1987") {
n1987.push(textArray[i]);
}
if (nameText == "n1988") {
n1988.push(textArray[i]);
}
if (nameText == "n1989") {
n1989.push(textArray[i]);
}
if (nameText == "n1990") {
n1990.push(textArray[i]);
}
if (nameText == "n1991") {
n1991.push(textArray[i]);
}
if (nameText == "n1992") {
n1992.push(textArray[i]);
}
if (nameText == "n1993") {
n1993.push(textArray[i]);
}
if (nameText == "n1994") {
n1994.push(textArray[i]);
}
if (nameText == "n1995") {
n1995.push(textArray[i]);
}
if (nameText == "n1996") {
n1996.push(textArray[i]);
}
if (nameText == "n1997") {
n1997.push(textArray[i]);
}
if (nameText == "n1998") {
n1998.push(textArray[i]);
}
if (nameText == "n1999") {
n1999.push(textArray[i]);
}
if (nameText == "n2000") {
n2000.push(textArray[i]);
}
if (nameText == "n2001") {
n2001.push(textArray[i]);
}
if (nameText == "n2002") {
n2002.push(textArray[i]);
}
}
for (i in imagesArray) {
var name = imagesArray[i].split("_")[0];
if (name == "1963") {
y1963.push(imagesArray[i]);
}
if (name == "1964") {
y1964.push(imagesArray[i]);
}
if (name == "1965") {
y1965.push(imagesArray[i]);
}
if (name == "1966") {
y1966.push(imagesArray[i]);
}
if (name == "1967") {
y1967.push(imagesArray[i]);
}
if (name == "1968") {
y1968.push(imagesArray[i]);
}
if (name == "1969") {
y1969.push(imagesArray[i]);
}
if (name == "1970") {
y1970.push(imagesArray[i]);
}
if (name == "1971") {
y1971.push(imagesArray[i]);
}
if (name == "1972") {
y1972.push(imagesArray[i]);
}
if (name == "1973") {
y1973.push(imagesArray[i]);
}
if (name == "1974") {
y1974.push(imagesArray[i]);
}
if (name == "1975") {
y1975.push(imagesArray[i]);
}
if (name == "1976") {
y1976.push(imagesArray[i]);
}
if (name == "1977") {
y1977.push(imagesArray[i]);
}
if (name == "1978") {
y1978.push(imagesArray[i]);
}
if (name == "1979") {
y1979.push(imagesArray[i]);
}
if (name == "1980") {
y1980.push(imagesArray[i]);
}
if (name == "1981") {
y1981.push(imagesArray[i]);
}
if (name == "1982") {
y1982.push(imagesArray[i]);
}
if (name == "1983") {
y1983.push(imagesArray[i]);
}
if (name == "1984") {
y1984.push(imagesArray[i]);
}
if (name == "1985") {
y1985.push(imagesArray[i]);
}
if (name == "1986") {
y1986.push(imagesArray[i]);
}
if (name == "1987") {
y1987.push(imagesArray[i]);
}
if (name == "1988") {
y1988.push(imagesArray[i]);
}
if (name == "1989") {
y1989.push(imagesArray[i]);
}
if (name == "1990") {
y1990.push(imagesArray[i]);
}
if (name == "1991") {
y1991.push(imagesArray[i]);
}
if (name == "1992") {
y1992.push(imagesArray[i]);
}
if (name == "1993") {
y1993.push(imagesArray[i]);
}
if (name == "1994") {
y1994.push(imagesArray[i]);
}
if (name == "1995") {
y1995.push(imagesArray[i]);
}
if (name == "1996") {
y1996.push(imagesArray[i]);
}
if (name == "1997") {
y1997.push(imagesArray[i]);
}
if (name == "1998") {
y1998.push(imagesArray[i]);
}
if (name == "1999") {
y1999.push(imagesArray[i]);
}
if (name == "2000") {
y2000.push(imagesArray[i]);
}
if (name == "2001") {
y2001.push(imagesArray[i]);
}
if (name == "2002") {
y2002.push(imagesArray[i]);
}
}
for (i=1963; i<=2002; i++) {
this["n"+i].sort();
this["y"+i].sort();
}
trace(n1963);
etotGod = y1963;
etotGodText = n1963;
stop();

lexass 08.07.2002 15:43

а мне бы было лень столько писать :)

efim 08.07.2002 15:49

lexass дак изволь научи ибудем писать как надо

пишем как умеем :D :) :D


вообще replace and copy and past тоже рулит :D

off topic

что такое rtfm

derhab 08.07.2002 15:51

Да-а... хрен знает... Может все ж исходник выложишь? ;)

efim 08.07.2002 15:56

derhab ВСЕ ТАМ проверено уже

плюс большой он уменя плюс работает с внешнеи даными

а без них не очень то наглядно

//imagesArray.sort(Fn); читать как //imagesArray.sort();

lexass 08.07.2002 15:59

постановка задачи неясна:(
но из того что я понял:
for (i=1963; i<=2002; i++) {
if (nameText == 'n'+i)
this['n'+i].push(textArray[i]);
if (name == i)
this['y'+i].push(imagesArray[i]);
}

lexass 08.07.2002 16:04

for (i in textArray) {
this[i].push(textArray[i]);
}
for (i in imagesArray) {
this[i].push(imagesArray[i]);
}

непонятна задача

ЗЫ
работа с таким кол-вом стрингов ------ ТОРМОЗА :(

efim 08.07.2002 16:16

lexass спасибо

но вот проблемы не решает хотя конечно скрипт короче ;) :p


если готов ~1Mбайт принять сейчас кину

суть я уже много раз писал

одно окно грузятся картинки другое грузится описание

есть кнопки перехода туда обратно

изюменка( извините пожалуйста за русский язык)

название файлов формируется через

dir дос каманда

dir>> test.txt /b/o-n/a .jpg

а дальше обрабатавыется массив но а текстовый файл уже обрабатывается на основе изображений


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

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