Информатика и технология программирования


Вопросы без ответов


По тексту программы определите алгоритм сортировки.


//------------------------------------------------------bk35-05.cpp


void F1(int in[],int n)
{ int i,j,k,c;
for (i=1; i&#60n; i++)
{ for (k=i; k !=0; k--)
{ if (in[k] &#62 in[k-1]) break;
c=in[k]; in[k]=in[k-1]; in[k-1]=c;
}
} }
//------------------------------------------------- 2


void F2(int in[],int out[],int n)
{ int i,j ,cnt;
for (i=0; i&#60 n; i++)
{
for ( cnt=0,j=0; j&#60n; j++)
if (in[j] &#62 in[i]) cnt++;
else
if (in[j]==in[i] &#38&#38 j&#62i) cnt++;
out[cnt]=in[i];
} }
//------------------------------------------------- 3


void F3(int in[],int n)
{ int a,b,dd,i,lasta,lastb,swap;
for (a=lasta=0, b=lastb=n, dd=1; a &#60 b;
dd = !dd, a=lasta, b=lastb)
{
if (dd)
{
for (i=a,lastb=a; i&#60b; i++)
if (in[i] &#62 in[i+1])
{ lastb = i;
swap = in[i]; in[i]=in[i+1]; in[i+1]=swap;
}
}
else
{
for (i=b,lasta=b; i&#62a; i--)
if (in[i-1] &#62 in[i])
{ lasta = i;
swap = in[i]; in[i]=in[i-1]; in[i-1]=swap;
} } } }
//------------------------------------------------- 4


int find(int out[],int n, int val);
// Двоичный или линейный поиск расположения значения val


// в массиве out[n]


void F4(in,n)
int in[],n;
{
int i,j,k;
for (i=1; i&#60n; i++)
{ int c; c = in[i]; k = find(in,i,c);
for (j=i; j!=k; j--) in[j] = in[j-1];
in[k] = c; }
}
//------------------------------------------------- 5


void F5(int in[], int n)
{ int i,j,c,k;
for (i=0; i &#60 n-1; i++)
{
for (j=i+1,c=in[i],k=i; j&#60n; j++)
if (in[j] &#62 c) { c = in[j]; k=j; }
in[k] = in[i]; in[i] = c;
} }
//------------------------------------------------- 6


&#35define MAXINT 0x7FFF
void F6(int in[], int n, int v0[], int v1[])
{
int m,i,max,i0,i1;
for (i=0, max=0; i&#60n; i++)
if (in[i] &#62 max) max=in[i];
for (m=1; m &#60=max; m &#60&#60=1);
for (m &#62&#62=1; m !=0; m &#62&#62=1)
{
for (i0=i1=0; i0+i1 &#60 n; )
if ((in[i0+i1] &#38 m) ==0)
v0[i0] = in[i0+i1], i0++;



Начало  Назад  Вперед



Книжный магазин