Показать сообщение отдельно
Старый 01.06.2010, 22:23
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 5  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Вероятно "толку нет" не в алгоритме, а в реализации.
Прекрасный алгоритм:

Код AS1/AS2:
var arr:Array = [1,2,3,4,5,6];
 
this.onEnterFrame = function  () {
 
	trace('Длина массива = ' + arr.length);
 
	if (arr.length != 0)
	{
		var randomIndex:Number = Math.floor(Math.random() * arr.length);
		var randomElement = arr[randomIndex];
		trace('randomIndex = ' + randomIndex);
		trace('randomElement = ' + randomElement);
		trace('-------------------------');
		arr.splice(randomIndex, 1);
	}
	else 
	{
		delete this.onEnterFrame ;
		trace('-------------------------');
		trace('Конец массива');
	}
};
Скопируй и запусти.