#include <iostream>
void shell_sort(int a[],int n)
{
int i = 0;
int j = 0;
int gap = 0;
int tem = 0;
for(gap = n/2; gap > 0; gap /= 2)
{
for(i = gap;i < n;i += gap)
{
for(j = 0;j < i; j += gap)
{
if(a[j] > a[i])
{
tem = a[j];
a[j] = a[i];
a[i] = tem;
}
}
}
}
}
void choose_sort(int a[], int n)
{
int i = 0;
int j = 0;
int tem = 0;
int value = 0;
for(i = 0; i < n; i++)
{
tem = i;
for(j = i+1; j<n; j++)
{
if( a[j] < a[tem])
tem = j;
}
value = a[i];
a[i] = a[tem];
a[tem] = value;
}
}
void quick_sort(int a[],int f, int r)
{
int tem = a[f];
int i = f;
int j = r;
if(f<r)
{
while(i < j)
{
while((i<j) && (tem <= a[j]))
j--;
if(i<j)
a[i++] = a[j];
while((i<j) && (tem > a[i]))
i++;
if(i<j)
a[j--] = a[i];
}
a[i] = tem;
quick_sort(a,f,i-1);
quick_sort(a,i+1,r);
}
}
void insert_sort(int a[],int n)
{
int i = 0;
int j = 0;
int tem = 0;
for(i = 1; i < n; i++)
{
for(j = i-1; j>=0 && a[j] > a[j+1]; j--)
{
tem = a[j];
a[j] = a[j+1];
a[j+1] = tem;
}
}
}
void bubble_sort(int a[],int n)
{
int i = 0;
int j = 0;
int tem = 0;
for(i = 0;i < n;i++)
{
for(j = 1;j<n-i;j++)
{
if(a[j-1] > a[j])
{
tem = a[j-1];
a[j-1] = a[j];
a[j] = tem;
}
}
}
}
int main()
{
int i = 0;
int a[10] ={62,15,43,76,32,98,42,25,17,37};
// shell_sort(a,sizeof(a)/sizeof(int));
// choose_sort(a,10);
// quick_sort(a,0,9);
// insert_sort(a,10);
bubble_sort(a,10);
for(i = 0; i < sizeof(a)/sizeof(int); i++)
{
printf("this is a %d\n",a[i]);
}
}
void shell_sort(int a[],int n)
{
int i = 0;
int j = 0;
int gap = 0;
int tem = 0;
for(gap = n/2; gap > 0; gap /= 2)
{
for(i = gap;i < n;i += gap)
{
for(j = 0;j < i; j += gap)
{
if(a[j] > a[i])
{
tem = a[j];
a[j] = a[i];
a[i] = tem;
}
}
}
}
}
void choose_sort(int a[], int n)
{
int i = 0;
int j = 0;
int tem = 0;
int value = 0;
for(i = 0; i < n; i++)
{
tem = i;
for(j = i+1; j<n; j++)
{
if( a[j] < a[tem])
tem = j;
}
value = a[i];
a[i] = a[tem];
a[tem] = value;
}
}
void quick_sort(int a[],int f, int r)
{
int tem = a[f];
int i = f;
int j = r;
if(f<r)
{
while(i < j)
{
while((i<j) && (tem <= a[j]))
j--;
if(i<j)
a[i++] = a[j];
while((i<j) && (tem > a[i]))
i++;
if(i<j)
a[j--] = a[i];
}
a[i] = tem;
quick_sort(a,f,i-1);
quick_sort(a,i+1,r);
}
}
void insert_sort(int a[],int n)
{
int i = 0;
int j = 0;
int tem = 0;
for(i = 1; i < n; i++)
{
for(j = i-1; j>=0 && a[j] > a[j+1]; j--)
{
tem = a[j];
a[j] = a[j+1];
a[j+1] = tem;
}
}
}
void bubble_sort(int a[],int n)
{
int i = 0;
int j = 0;
int tem = 0;
for(i = 0;i < n;i++)
{
for(j = 1;j<n-i;j++)
{
if(a[j-1] > a[j])
{
tem = a[j-1];
a[j-1] = a[j];
a[j] = tem;
}
}
}
}
int main()
{
int i = 0;
int a[10] ={62,15,43,76,32,98,42,25,17,37};
// shell_sort(a,sizeof(a)/sizeof(int));
// choose_sort(a,10);
// quick_sort(a,0,9);
// insert_sort(a,10);
bubble_sort(a,10);
for(i = 0; i < sizeof(a)/sizeof(int); i++)
{
printf("this is a %d\n",a[i]);
}
}