简单排序算法(插入、选择、冒泡)
/***************插入排序算法**********/
void InsertSort(int *a, int len)
{
for(int j = 1; j < len; j++)
{
int key = a[j];
int i = j - 1;
while(i>=0 && a[i]>key)
{
a[i+1] = a[i];
i--;
}
a[i+1] = key;
}
}
/*********选择排序****************/
void SelectSort(int *a, int len)
{
for(int i = 0; i < len; i++)
{
int min = a[i], minpos = 0;
for(int j = i + 1; j < len; j++)
{
if(a[j] < min)
{
min = a[j];
minpos = j;
}
}
if(min < a[i])
{
int temp = a[i];
a[i] = min;
a[minpos] = temp;
}
}
}
/******************冒泡排序************/
void BubbleSort(int *a, int len)
{
for(int i = 0; i < len-1; i++)
{
for(int j = len-1; j > i; j--)
{
if(a[j]<a[j-1])
{
int tmp = a[j];
a[j] = a[j-1];
a[j-1] = tmp;
}
}
}
}