Сортировка методом пузырька скорость P4(2 ггц) 1мс=5
void bubble(int *x, int n)
{ register int i;
int tmp,q;
m: q=0;
for(i=0;i<n-1;i++)
if(x[i]>x[i+1])
{ tmp=x[i]; x[i]=x[i+1]; x[i+1]=tmp; q=1;}
if(q) goto m;
}
//------------------------------
Сортировка методом отбора скорость P4(2 ггц) 1мс=20
void select(int *x, int n)
{ register int i,j;
int im,m,q;
for(i=0; i<n-1; i++)
{ m=x[i]; im=i; q=0;
for(j=i+1; j<n; j++)
if (x[j]<m) { m=x[j]; im=j; q=1;}
if (q) {x[im]=x[i]; x[i]=m; }
}
}
//------------------------------
Сортировка методом вставки P4(2 ггц) 1мс=10
void insert(int *x, int n)
{ register int i,j; int tmp;
for(i=1; i<n; i++)
{ tmp=x[i];
for(j=i-1; j>=0 && tmp<x[j]; j--)
x[j+1]=x[j];
x[j+1]=tmp;
}
}
//-------------------------------
Сортировка методом Шелла P4(2 ггц) 1мс=75
void shell(int *x, int n)
{ register int i,j,gap,k; int xx;
char a[5]={9,5,3,2,1};
for(k=0; k<5;k++)
{ gap=a[k];
for(i=gap; i<n; i++)
{ xx=x[i];
for(j=i-gap; xx<x[j] && j>=0; j=j-gap)
x[j+gap]=x[j];
x[j+gap]=xx;
}
}
}
//------------------------------
Быстрая сортировка P4(2 ггц) 1мс=6300
void qs(int *x, int left,int right);
void quick(int *x, int n)
{ qs(x,0,n-1); }
//---------------------------
void qs(int *x, int left,int right)
{ register int i,j;
int xx, tmp;
i=left; j=right;
xx=x[(left+right)/2];
do { while(x[i]<xx && i<right) i++;
while(x[j]>xx && j>left) j--;
if(i<=j)
{ tmp=x[i]; x[i]=x[j];
x[j]=tmp; i++; j--;
}
}
while(i<=j);
if (j>left) qs(x,left,j);
if (i<right) qs(x,i,right);
}
//-----------------------------------------------
Присоединяйтесь — мы покажем вам много интересного
Присоединяйтесь к ОК, чтобы подписаться на группу и комментировать публикации.
Комментарии 5
(P4(2ггц) 1мс=5 ) это означает на компе с процессором Pentium4 2ггц
скорость сортировки за 1миллисекунд 5 элементов
че 7
зависит от состояния процессора,