Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   Интересная задачка на сортировку (https://javascript.ru/forum/project/28964-interesnaya-zadachka-na-sortirovku.html)

Vitaliy_m 08.06.2012 20:59

Интересная задачка на сортировку
 
Вот мой пример выполненной задачи. Она очень даже интересная. Если есть у кого то свои идеи выкладывайте мне интересно будет.Кому не лень конечно=)

/*Ввести массив чисел. Организовать сортировку по убыванию и возрастанию двух видов: символьную и числовую.*/
var message = alert("Задача выполняет сортировку чисел и букв которые вы введёте! Весь массив чисел или букв вводите через ','(без пробелов)!");
var NumStr = prompt("Введите массив чисел или букв");
var reg = /\s*,\s*/;
var arrString = NumStr.split(reg);
function per(array){	
	var elements = array[0];	
	var j = array.length-1;
	for (var i = 0;isNaN(array[i]) === isNaN(elements);i++){
		elements = array[i];
				if (array[i] === array[j]){return array[i];}}}		
function sortMax(a,b){return a-b;}
function sortMin(a,b){return b-a;}			
if (per(arrString) != undefined){	
		if (isNaN(arrString[0]) == true){
			document.write(arrString + " = Ваш массив"+"</br>");
			document.write(arrString.sort() + " = Сортировка на возрастание "+"</br>");
			document.write(arrString.reverse() + " = Сортировка на понижение" + "</br>");}
	  else {document.write(arrString + " = Ваш массив"+"</br>");
			document.write(arrString.sort(sortMax) + "= Сортировка по возрастанию"+"</br>");
			document.write(arrString.sort(sortMin) + "= Сортировка на понижение"+"</br>");}
	}
else {document.write("Вы ввели не верно массив");}

Gvozd 09.06.2012 03:34

var array = prompt('Введите массив чисел или букв').split(/\s*,\s*/);
if(array.every(isNaN) || !array.some(isNaN)) {
    document.write(array + ' = Ваш массив</br>');
    document.write(array.sort() + ' = Сортировка на возрастание</br>');
    document.write(array.reverse() + ' = Сортировка на понижение</br>');
} else {
    document.write('Вы ввели не верно массив');
}


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