Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.06.2011, 19:49
Новичок на форуме
Отправить личное сообщение для cinedd Посмотреть профиль Найти все сообщения от cinedd
 
Регистрация: 09.06.2011
Сообщений: 5

Рекурсивный метод
Стараюсь разобраться с алгоритмами более подробно.. Вот решил сделать такую задачку: создание массива с использованием "for/while/do..while".. Проблем не возникло, пока не добрался до рекурсии..

Как можно преобразовать данный пример, используя рекурсию?


function sortedArray(){
	sAr = new Array();
		for (var i=0, l = arrayLength; i<l; i++){
			var maxV = (arrayMax + 1) - arrayMin;
			var minV = arrayMin;                 
			sAr.push(Math.floor((Math.random() * maxV) + minV )); 
		};

Последний раз редактировалось cinedd, 14.06.2011 в 19:53.
Ответить с цитированием
  #2 (permalink)  
Старый 14.06.2011, 20:21
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

Примерно, так, наверное:
function createArray(index, array){
  if(!array) array = [];
  array[ --index ] = index;// здесь подставляй что хочешь
  if( index === 0 ) return array;
  return createArray(index, array);
};

alert( createArray(3) );
Ответить с цитированием
  #3 (permalink)  
Старый 14.06.2011, 21:18
Новичок на форуме
Отправить личное сообщение для cinedd Посмотреть профиль Найти все сообщения от cinedd
 
Регистрация: 09.06.2011
Сообщений: 5

санкЮ))

Получилось следующее:


function sortedArray(){
	function createArray(index, array){
		var maxV = (arrayMax + 1) - arrayMin;  
		var minV = arrayMin;
		if(!array) array = [];
			  array[ --index ] = Math.floor((Math.random() * maxV) + minV );
		  if( index === 0 ) return array;
		  return createArray(index, array);
		};	 
		
		alert("Array: \n" + createArray(arrayLength));
};


Но тут теперь появилась трудность с сортировкой такого массива..
Написал такое:

Array.prototype.sort = function()
	{
		for(i=0;i<this .length;i++)
		{
			for(j=i+1;j<this.length;j++)
			{
				if(Number(this[i]) >Number(this[j]))
				{
					temp = this[j];
					this[j] = this[i];
					this[i] = temp;
				}
			}
		}
	};


к чему его привязать можно?

в предидущих функциях делал так: myArray.sort(arraySort());

Последний раз редактировалось cinedd, 14.06.2011 в 21:47.
Ответить с цитированием
  #4 (permalink)  
Старый 14.06.2011, 22:02
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

alert("Array: \n" + createArray(arrayLength).sort());
Ответить с цитированием
  #5 (permalink)  
Старый 14.06.2011, 22:05
Новичок на форуме
Отправить личное сообщение для cinedd Посмотреть профиль Найти все сообщения от cinedd
 
Регистрация: 09.06.2011
Сообщений: 5

Сообщение от Sweet Посмотреть сообщение
alert("Array: \n" + createArray(arrayLength).sort());
так делал, без успеха:

алерт: "Array: undefined"
Ответить с цитированием
  #6 (permalink)  
Старый 14.06.2011, 22:17
Новичок на форуме
Отправить личное сообщение для cinedd Посмотреть профиль Найти все сообщения от cinedd
 
Регистрация: 09.06.2011
Сообщений: 5

розобралься:
function sortedArray(){
function createArray(index, array){
var maxV = (arrayMax + 1) - arrayMin;
var minV = arrayMin;
if(!array) array = [];
array[ --index ] = Math.floor((Math.random() * maxV) + minV );
array.sort(arraySort());
if( index === 0 ) return array;
return createArray(index, array);
};

alert("Array: \n" + createArray(arrayLength));
};
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Объект не поддерживает это свойство или метод load_081112_0953.js 1auto1 Общие вопросы Javascript 1 13.04.2011 22:09
Объект не поддерживает это свойство или метод load_081112_0953.js 1auto1 Internet Explorer 1 13.04.2011 21:59
Передача полю объекта - массиву, значения элемента через set метод poorking Общие вопросы Javascript 1 13.02.2011 20:22
Как узнать у какого объекта вызван метод. Scalar Events/DOM/Window 4 26.03.2010 11:10
Добавить свой метод к элементу alekciy Events/DOM/Window 6 16.02.2009 19:29