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

какие алгоритмы сортировки есть на С# (С++)?

кроме пузырьковой и методом прямого выбора
Сортировка Шейкера более быстрая и оптимизированная, чем сортировка пузырьком, по сложности я бы не сказал что они отличаются.

#include <iostream>
using namespace std;
//========================================================
int array[100];
//========================================================
void Sort(int col)
{
int trash=0;
bool f=true;
for (int i=1; (i<=col) && (f=true) ; i++)
{
f=false;
for (int j=i; j<=col-i; j++) // проходим с лева на право
{
if (array [j]>array [j+1]) // если число слева больше числа
{
trash=array[j]; // справа, то меняем местами
array [j]=array [j+1]; // справа собираются большие числа
array [j+1]=trash;
f=true;
}
}
for (int j=col-i-1; j>i ; j--) // проходим с права на лево
{
if (array [j]<array[j-1])> <<" ";
cout << endl;
}
//========================================================
int main()
{
int col_el;

cout << " Enter length of array"<< endl;
cin >> col_el;
cout << " Enter array elements"<<endl;>> array[n];

}
Sort(col_el);
cout << "Result is :"<<endl;>> col_el;
return 0;
}

Ещё лучше сортировка вставками.

float *insert(float *s, int m, int n)
{
int i,j,k;
float aux;
for (i=m+1; i<=n; i++) { aux="s;" for (k="m;" k<="i" && s[k]=k; j--) s[j+1]=s[j];
s[k]=aux;
}
return(a);
}

Для каждого случая свой метод.
Алексей Тарасенко
Алексей Тарасенко
374
Лучший ответ
Какую напишешь ---та и будет. А вообще есть стандартная функция быстрой сортировки.

#include <stdlib.h>

void qsort(void *base, size_t nmemb, size_t size, int(*compar)(const void *, const void *));

http://www.opennet.ru/man.shtml?topic=qsort&category=3&russian=0
Роман Ганьшин
Роман Ганьшин
1 155
самая простая - это сортировка пузырьком :
делаеш массив чисел
Проходиш от первого элемента до последнего и сравниваеш соседние элементы.
Если слева больше, то меняеш их местами, таким образом, справа всегда будет
больший
=============
Будет примерно так
=
#include <iostream>
using namespace std;

int array[100];

void Sort(int col)
{
int trash=0;

for (int i=1; i<=col ; i++)
{
for (int j=1; j<=col-i; j++)
{
if (array [j]>array [j+1])
{
trash=array[j];
array [j]=array [j+1];
array [j+1]=trash;
Саша Братаев
Саша Братаев
1 130