#include <stdio.h>
void insertSort(int a[], int n)
{
int temp;
int i;
for(i = 1; i < n; i++)
{
temp = a[i];
int j = i - 1;
while(temp < a[j])
{
a[j + 1] = a[j];
j--;
}
a[j + 1] = temp;
}
}
int main(void)
{
int a[5] = {1,5,4,3,2};
int i = 0;
insertSort(a, 5);
for(;i < 5; i++)
printf("%d ", a[i]);
printf("\n");
}
//折半查找排序
#include <stdio.h>
void binsort(int a[], int n)
{
int i;
for(i = 1; i < n; i++)
{
int temp = a[i];
int j = i;
int low = 0;
int hight = i - 1;
while(low <= hight)
{
int middle = (low + hight)/2;
if(a[middle] < temp)
low = middle + 1;
else
hight = middle - 1;
}
for(; j >= low; j--) a[j] = a[j - 1];
a[low] = temp;
}
}
int main()
{
int a[4] = {5, 1, 4, 8};
int i;
binsort(a, 4);
for(i = 0; i < 4; i++)
printf("%d ", a[i]);
printf("\n");
}