Форум программистов, компьютерный форум, киберфорум
Наши страницы

Сортировка - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Отловить данные из браузера http://www.cyberforum.ru/cpp-beginners/thread1190163.html
Доброго времени суток форумчане! Подскажите: Если в браузере (проверено в мозиле) в адресной строке написать tel:+79231234567 То браузер говорит что tel - это неизвестный протокол, и предлагает...
C++ C++ исправить и дополнить код Здравствуйте, форумчане. Имеется 2 решенные задачи. Обе работают по одному принципу: берутся числа с клавиатуры и выполняются с ними какие-то действия. Нужно сделать так чтобы обе программы брали... http://www.cyberforum.ru/cpp-beginners/thread1190160.html
C++ Разработать имитацию функции Word(s): выделение первого слова из строки s
Прощу помощи для написании имитации функций Word(s). Не используя саму функции Word(s) Функция Word(s) Назначение: выделение первого слова из строки s. Примечание: под «словом» везде...
C++ Обработка строк класса string
Написать программу, считывающую строки, состоящую из слов, разделенных пробелами и знаками препинания, и выводящую в столбик в алфавитном порядке слова, обладающие указанными свойствами (в...
C++ Найти слова, у которых первая буква входит в слово ещё раз http://www.cyberforum.ru/cpp-beginners/thread1190154.html
Ребята, помогите пожалуйста! Возникли проблемы с написанием программы на С++ Задание: В произвольном тексте (взятом из файла), содержащем не более 10 строк, в каждой строке не более 80 символов,...
C++ Heap corruption detected after normal block выкидывает ошибку при попытке освободить память массива, делаю так: char **Items; ... free(Items); подробнее

Показать сообщение отдельно
montkay
10 / 10 / 8
Регистрация: 19.02.2014
Сообщений: 72
27.05.2014, 19:08
Скорее всего, что не смогу помочь в создании лучшего кода. Но если Вы создаёте массив до 1000 элементов, то нет необходимости его разделять на подмассивы, а потом складывать их в один. Эффективность будет незначительная. И тогда можно создать только один массив, который Вы отсортируете. Или же можете воспользоваться сортировкой методом выборки. Она приблизительно в 1,6-3 раза быстрее за сортировку методом вставки.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void sort(int *a, int n)
{
    for (int i = 0; i < n - 1; i++)
    {
        int min = i;
        for (int j = i + 1; j < n; j++)
            if (a[min] > a[j])
                min = j;
        if (min != i)
        {
            int temp = a[min];
            a[min] = a[i];
            a[i] = temp;
        }
                    
    }
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.