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

САМАЯ БЫСТРАЯ сортировка! - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Функции http://www.cyberforum.ru/cpp-beginners/thread88223.html
Составить программу вычисления данного выражения: y=(min(x+y,y)+min(x+z,y))/(1-min(x,z+0.2)) , где min(a,b)- функция нахождения наименьшего из двух чисел. В долгу не останусь!!!!
C++ C++ Многопоточность Как сделать так, чтобы эта программа заработала? А то она мне вот что пишет: g++ test.cpp -o test -lpthread ./test Segmentation fault #include <pthread.h> http://www.cyberforum.ru/cpp-beginners/thread88161.html
Составить программу, которая определяет углы треугольника со сторонами а, b, с. C++
Тема: «Программирование с использованием функций» .Составить программу, которая определяет углы треугольника со сторонами а, b, с.
Неправильная запись в файл C++
#pragma hdrstop #pragma argsused #include <fstream> #include <iostream> #include <string> #include<sstream> using namespace std; /*Нахождение простых чисел с помощью решета Эратосфена*/ int* Sieve_of_Eratosthenes(int n)
C++ можеш посмотреть http://www.cyberforum.ru/cpp-beginners/thread87863.html
вообще не понимаю
C++ очень нада лабы... 2. Составить программу вычисления данного выражения: , где - функция нахождения наименьшего из двух чисел. подробнее

Показать сообщение отдельно
HIMen
4121 / 1370 / 39
Регистрация: 12.04.2009
Сообщений: 2,346
22.01.2010, 21:40     САМАЯ БЫСТРАЯ сортировка!
этот алгоритм уже давно придуман и называется он сортировка подсчетом
которая во-первых требует памяти O(MAX),
во-вторых нестабильна (ты хоть гуглил что значит устойчивая сортировка)
в-третьих она основана вовсе не на замене (капитан очевидность недоумевает, где там замена)

Что-то мне подсказывает ты проводил тесты на массивах типа
C#
1
2
Random rnd = new Random(DateTime.Now.Millisecond);
int[] msv = (new int[2000000]).Select(n => rnd.Next(0, 10)).ToArray();
А ты попробуй такой
C#
1
2
3
Random rnd = new Random(DateTime.Now.Millisecond);
int[] msv = (new int[2000000]).Select(n => rnd.Next(0, 10)).ToArray();
msv[4] = int.MaxValue;
или такой
C#
1
int[] msv = { 0, int.MaxValue };
Любой из алгоритмов быстрая/пирамидальная/слиянием или подобный будет гораздо быстрее, а т.к твоя реализация еще и криворукая ты получишь либо StackOverflow либо OutOfMemory

Даже хорошая реализация (которая стабильна) не делает эту сортировку достойной: она сортирует только дискретные величины

Не по теме:

Надеюсь код на c# тебе понятен



Добавлено через 4 минуты
Цитата Сообщение от OVERPOWER8 Посмотреть сообщение
Ну вообще-то может сортировать все что угодно - классы, структуры и т. д.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru