冒泡排序:
void bubble_sort(int *a, int n)
{
int i, j;
for(i = 0; i < n; i++)
for(j = 0; j < i; j++){
if(a[j] > a[j + 1]){
a[j] = a[j] + a[j + 1];
a[j + 1] = a[j] - a[j + 1];
a[j] = a[j] - a[j - 1];
}
}
}
选择:
void select_sort(int *a, int n)
{
int start, next, min, swap;
for(start = 0; start < n; start++){
min = start;
for(next = start + 1; next < n; next++){
if(a[next] < a[min])
min = next;
}
if(min != start){
swap = a[next];
a[next] = a[start];
a[start] = swap;
}
}
}
插入:
void insert_sort(int *a, int n)
{
int i, j, k;
for(i = 1; i < n; i++){
int temp = a[i];
for(j = 0; j <i; j++){
if(a[j] > temp){
for(k = i; k < j; k--)
a[k] = a[k - 1];
}
a[j] = temp;
break;
}
}
}