#define N 10
#define SWAP(a,b){int tmp;tmp=a;a=b;b=tmp;}
void arrMP(int* arr)
{
int i,j;
for (i=0;i<N-1;++i)
{
for (j=0;j<N-i-1;++j)
{
if(arr[j] > arr[j+1])
SWAP(arr[j],arr[j+1]);
}
}
}
void arrSelect(int* arr){
int i,j,maxPos;
for (i=N;i>0;--i)
{
maxPos = 0;
for (j=1;j<i;++j)
if(arr[maxPos] < arr[j])
maxPos = j;
SWAP(arr[maxPos],arr[i-1]);
}
}
void sortInsert(int* arr) {
int i, j, insertVal;
for ( i = 1; i < N; i++)
{
insertVal = arr[i];
for ( j = i-1; j >= 0; --j)
{
if (arr[j] > insertVal)
{
arr[j + 1] = arr[j];
}
else {
break;
}
}
arr[j + 1] = insertVal;
}
}
void arrInsertPlus(int* arr)
{
int i,j,insertVal,gap;
for (gap=N>>1;gap>0;gap>>=1)
{
for (i=gap;i<N;++i)
{
insertVal = arr[i];
for (j=i-gap;j>=0&&arr[j]>insertVal;j=j-gap)
{
arr[j+gap] = arr[j];
}
arr[j+gap]=insertVal;
}
}
}