DEAL
1

сортировка массива по двум критериям(или что-то вроде того)

05.11.2010, 23:08. Показов 843. Ответов 0
Метки нет (Все метки)

Дан массив int arr[n][2], нужно отсортировать первую строчку по возрастанию, если числа равны сравнивать соответственные значения во второй (гарантируется, что все числа во второй разные).
И вся проблема в том, что n=100000, а отсортировать нужно меньше чем за 0.5 сек. Конечно, написал с быстрой сортировкой, но по второй срочке не всегда сортируется.

Покажу, что есть, там ошибка в if-е, где равенство. Может быть, сначала отсортировать первую строчку, а потом пройтись еще раз и где числа равны применить сортировку по второй?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 
void sorting(int first, int last) 
{      
    int p = arr[(last - first)/2 + first][0]; 
    int temp;
    int i = first, j = last;
    while(i <= j) 
    {        
        while(arr[i][0] < p && i <= last)  ++i;
        while(arr[j][0] > p && j >= first) --j;
        if(i <= j) 
        {
            if(arr[i][0]==arr[j][0])
            {
                if(arr[j][1]<arr[i][1]) swap(arr[j][1],arr[i][1]);
            }
            else
            {
                swap(arr[j][1],arr[i][1]);
                swap(arr[j][0],arr[i][0]);
            }
            ++i; --j;            
        }      
    }      
    if(j > first) sorting(first, j);      
    if(i < last)  sorting(i, last);   
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.11.2010, 23:08
Ответы с готовыми решениями:

Нужен компаратор или что то вроде того
Код программы у меня очень маленький: String s = File.ReadAllLines(&quot;1.txt&quot;, Encoding.Default); ...

Админ панель или что то вроде того
Здравствуйте. Я совсем недавно изучаю HTML и CSS. Могу написать простенький сайт,но вполне годный....

генерация контента (или что-то вроде того)
привет :) сейчас буду излагать крайне сумбурно: проблема. есть бесплатный хостинг. narod....

Посоветуйте какой-либо задачник или что-то вроде того, для усваивания
Начал потихоньку читать &quot;Полное руководство С#4.0&quot;. Но материал с трудом усваивается. Посоветуйте...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.11.2010, 23:08

Сортировка файла записей по двум критериям
В общем, есть файл из записей, 4 поля, мне надо его отсортировать пирамидой, с помощью...

Сортировка по двум критериям: порядок, алфавит
Добрый день. Есть массив объектов: ; Нужно провести сортировку так, чтобы Москва,...

Скажите как мне на KeyUp или что-нибудь вроде того обнулить значение нажатой клавиши
Скажите как мне на KeyUp или что-нибудь вроде того обнулить значение нажатой клавиши. Т.е. -...

Геометрический алгоритм.....что то вроде того
Два отрезка на плоскости заданные целочисельными координатами своих концов в декартовой системе...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru