Показать сообщение отдельно
  #9 (permalink)  
Старый 26.09.2013, 13:55
Новичок на форуме
Отправить личное сообщение для Papazol Посмотреть профиль Найти все сообщения от Papazol
 
Регистрация: 24.09.2013
Сообщений: 4

Сообщение от рони Посмотреть сообщение
Papazol,

function freqPairs(b) {
    for (var c = {}, a = 0; a < b.length; a++) {
        var d = b[a];
        c[d] ? c[d]++ : c[d] = 1
    }
    b.sort(function (a, b) {
        return c[b] - c[a] || b[0] - a[0] || b[1] - a[1]
    });
    for (a = 0; a < b.length; a++) b[a][2] = c[b[a]];
    return b
};
alert(freqPairs( source ).join('\n'));

Спасибо за код!
Код рабочий - в смысле, что он выполняется и ничего не ломается.
Правда он все равно не отсортировал, как надо, но его наверняка можно доточить.

На самом деле я зарешал проблему самостоятельно. Применил другой алгоритм - шейкерную сортировку. Это конечно просто улучшение того же "пузырька", но мне вдруг помогло.

То, что проблему решил - это хорошо...
А вот то, что так и не понял, шоэтобыло - это плохо...
Ответить с цитированием