Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
DEAL
Сообщений: n/a
#1

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

05.11.2010, 23:08. Просмотров 529. Ответов 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);   
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.11.2010, 23:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос сортировка массива по двум критериям(или что-то вроде того) (C++):

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

Нужен пример того, что работать вроде не должно, но работает - C++
Есть у кого то парочка тем для размышления:):) каких то конструкций, где вроде бы так делать нельзя, но почему то работает или не работает!?

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

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

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

Скажите как мне на KeyUp или что-нибудь вроде того обнулить значение нажатой клавиши - JavaScript
Скажите как мне на KeyUp или что-нибудь вроде того обнулить значение нажатой клавиши. Т.е. - объясняю. Надо, чтобы если я в инпуте ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.11.2010, 23:08
Привет! Вот еще темы с ответами:

Геометрический алгоритм.....что то вроде того - C#
Два отрезка на плоскости заданные целочисельными координатами своих концов в декартовой системе координат. Определить, есть ли у них общая...

Помогите сделать BAT с PING или вроде того - CMD/BAT
Всем доброго времени суток! У меня такая проблема я застрял на одном моменте мне нужно создать батник и чтобы он ПИНговал сайт...

PWS не может зарегистрить что-то вроде 'msdasql.dll' или что-то похожее. - C# ASP.NET
Ну вот. Сяду, думаю, вечерком и форум себе сделаю. А не тут-то было. Что-то случилось вроде с моим PWS, потому что раньше подобные вещи...

Фильтрация по двум критериям - C++ Builder БД
Здравсвуйте. Помогите пожалуйста, написаить код для того, чтобы фильтровать таблицу по двум критериям. SQL не использовать(( Вот код с...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru