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

Сортировка большого одномерного массива - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Из заданного двоичного файла создать новый двоичный файл, у которого байты переставлены в обратном порядке http://www.cyberforum.ru/cpp-beginners/thread1201130.html
7. По заданному двоичному файлу с произвольным содержанием создать новый двоичный файл, у которого байты переставлены в обратном порядке. Вывести содержимое исходного и итогового файлов на экран.
C++ Поиск подстроки Привет всем. Я пишу программу для поиска подстроки. Если подстрока есть в строке, вывести YES. Иначе - NO. Вот код(еще не дописанный) #include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h> int search(char a, char b){ int i, j, n, m; n = strlen(a); http://www.cyberforum.ru/cpp-beginners/thread1201122.html
C++ Переставить байты исходного файла в обратном порядке
7. По заданному двоичному файлу с произвольным содержанием создать новый двоичный файл, у которого байты переставлены в обратном порядке. Вывести содержимое исходного и итогового файлов на экран.
C++ Изменение значения указателя
Здравствуйте В коде приведена функция, которая при помощи указателей считывает размер массива и его элементы из файла блокнота. Почему значение, хранящееся в массиве после выполнения цикла самопроизвольно меняется? функция мэйн #include <iostream> #include <stdlib.h> #include <windows.h>
C++ Рекурсивная функция, выводящая на экран все целые числа от N до K, N<K http://www.cyberforum.ru/cpp-beginners/thread1201108.html
рекурсивная функция, выводящая на экран все целые числа от N до K, N<K
C++ Написать рекурсивную функцию, выводящую на экран все целые числа в определенном интервале рекурсивная функция, выводящая на экран все целые числа от N до K, N<K подробнее

Показать сообщение отдельно
azbest
 Аватар для azbest
36 / 36 / 7
Регистрация: 12.03.2013
Сообщений: 141
06.06.2014, 15:50     Сортировка большого одномерного массива
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <vector>
#include <algorithm>
#include <stdio.h>
#include <time.h>
 
#define DIAPAZONE 10000
 
using namespace std;
 
int main()
{
    vector <int> v;         // вектор (динамический масив) чисел
    int n=100000;           // количество элеементов
    srand(time(0));         // "включение" генератора)
    while (n--) {
        v.push_back(rand()%DIAPAZONE);  // добавляем случайное число
    }
    stable_sort(v.begin(),v.end());     // сортировка массива от начала до конца
    freopen("sorted.txt","w",stdout);   // изменяем поток вывода из консоли в файл
    for (n=0;n<v.size();++n) printf("%d\n",v[n]);   // записываем (у меня заняло 0,137 сек)
    return 0;
}
stable_sort() работает немного быстрее чем sort() если в массиве есть повторяющиеся элементы когда диапазон случайных чисел менше их количества например.
 
Текущее время: 19:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru