Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Сортировка двумерного массива методом пузырька (https://javascript.ru/forum/misc/29409-sortirovka-dvumernogo-massiva-metodom-puzyrka.html)

tadjik1 26.06.2012 19:37

стоп, а как вы хотите-то отсортировать этот массив?

var a = [[1, 2], [2, 3], [1, 3], [3,2], [2, 1]];


чему должна равняться a после сортировки?

nerv_ 26.06.2012 19:39

Цитата:

Сообщение от tadjik1
чему должна равняться a после сортировки?

a после сортировки, как и до, будет "равняться" массиву )

lammeR 26.06.2012 19:39

5, 1, 4
2, 8, 3
9, 6, 7

по возрастанию
1 ,2 ,3
4, 5, 6
7, 8, 9

tadjik1 26.06.2012 19:43

Цитата:

Сообщение от nerv_
a после сортировки, как и до, будет "равняться" массиву )

ну вы же поняли)))

lammeR,
чего это такое?) задача в том, чтобы из двумерного массива сделать одномерный, отсортировать и снова привести к двумерному?

а если у вас будет
var arr = [[1, 3], [4, 5, 1 ,3, 5], [2, 5, 6]];

как вы его хотите отсортировать?

ksa 26.06.2012 19:46

Цитата:

Сообщение от tadjik1
задача в том, чтобы из двумерного массива сделать одномерный, отсортировать и снова привести к двумерному?

Получается именно так. :yes:

lammeR 26.06.2012 20:07

tadjik1, не знаю, что вы имеете ввиду, есть двумерный массив 10x10, заполненный случайными элементами, необходимо отсортировать двумерный массив по возрастанию и вывести этот же массив уже с отсортированными элементами.

ksa 26.06.2012 20:11

lammeR, если тебе его нужно сортировать как одномерный - таки запиши его в одномерный, отсортируй...
А потом запиши обратно в 2-хмерный и выведи его.

lammeR 26.06.2012 20:13

ksa, а нельзя ли это сделать без помощи одномерного, всю сортировку произвести с двумерным?

Deff 26.06.2012 20:16

lammeR,
Ну ksa, логично сказал - превратить 10х10 в массив 100, отсортировать и вложить заново в 10 по 10, результат будет идентичен с сортировкой иным методом

tadjik1 26.06.2012 20:17

var arr = [[1, 2, 3], [2, 4, 5], [1, 5, 7], [5, 3, 7]], //исходный массив
b = arr.join().split(',').sort(function(a, b) { return a - b }), //приводим исходный к одномерному, сортируем
newarr = []; 

for(var i = 0; i < arr.length; i++){ newarr[i] = b.splice(0, arr[0].length) } //заполняем новый массив

alert(JSON.stringify(newarr));


в javascript вообще нет поняти «многомерный массив» =)


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