插入排序+冒泡排序
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define swap(a,b){\
__typeof(a)__tmp = a;\
a = b;\
b = __tmp;\
}
void insert_sort(int *arr,int len){
int i,j;
for(i=1;i<len;i++){
for(j=i;j>0 && arr[j]<arr[j-1];j--){
swap(arr[j],arr[j-1]);
}
}
}
void bubble_sort(int *arr, int n){
int i,j;
for(i=1;i<n;i++){
for(j=0;j<n-i;j++){
if(arr[j]>arr[j+1])
swap(arr[j],arr[j+1]);
}
}
}
void showdui(int *arr,int len){
printf("arr:[");
int i;
for(i=0;i<len;i++){
i && printf(",");
printf("%d",arr[i]);
}
printf("]\n");
}
int main(){
srand(time(0));
int i,arr[10];
for(i=0;i<10;i++){
arr[i] = rand()%100;
}
showdui(arr,10);
insert_sort(arr,10);
printf("插入排序:");
showdui(arr,10);
bubble_sort(arr,10);
printf("冒泡排序:");
showdui(arr,10);
return 0;
}
