Другие языки программирования и технологии

сортировка массива. какой метод сортировки массива самый быстрый и эффективный?

lol lol
что в вашем понимании считается "эффективным" методом?

для кого-то быстрота сортировки и является признаком эффективности.
а для кого-то другого под эффективностью понимается размер памяти требуемой под сортировку.
а кому-то вообще главное чтобы было сделано как можно меньше операций (и пусть оно хоть день занимает)

при все прочих равных условиях, метод "сортировки слиянием" ( у буржуев называется merge sort ) будет быстрее.
как правило, на массивах существенной длины обгоняет другой метод - "быстрый поиск" ( у буржуев зовётся QuickSort ), хотя по сложности методы имеют одинаковый порядок. Однако QuickSort может конкретно притормозить если неумело им пользоваться. В то же время QuickSort требует гараздо меньше памяти для работы, чем "сортировка слиянием"
БШ
Бекзат Шыналиев
93 087
Лучший ответ
Если массив достаточно большой и заранее известно, что он несортированный, то QuickSort, пожалуй.
//--------------------------------------------------------------------------------------------
template <class>
void qs(s_type *item, int left, int right)
{
/*
******Параметризированная функция быстрой сортировки массива
*/
****register int****i, j;****//для ускорения работы индексные переменные помещаем в регистры
****s_type *****x, y;****//для сортировки

//индексные переменные ставим на указанные границы массива
****i = left;****
****j = right;
//выбираем "компаранд"
****x = item[ (left+ right) / 2];

//все элементы большие компаранда переносим в левую часть массива
//все элементы меньшие компаранда переносим в правую часть массива
****do
****{
*while(item < x && i < right) i++;
*while(x < item[j] && j > left) j--;
*if(i <= j)
*{
*****y = item;
*****item = item [j];
*****item[j] = y;
*****i++;
*****j--;
*}
****}while(i <= j);

//повторяем процедуру для отсортированных частей массива пока все не отсортируем
****if(left < j) qs(item, left, j);
****if(i < right) qs(item, i, right);
}
Для каждого случая свой.
Зависит от расположения данных в массиве, размера массива и так далее.