插入排序:
直接插入排序原理如图(图片转自:https://blog.csdn.net/llzk_/article/details/51628574):
代码:
#include<stdio.h>
void Insertion_Sort(int series[],int n){
int i,j;
for(i=1;i<n;++i){
int temp=series[i];
for(j=i-1;j>=0&&temp<series[j];--j){
series[j+1]=series[j];
}
series[j+1]=temp;
}
}
//void Insertion_Sort(int series[],int n){
// int temp;
// for(int i=0;i<n-1;++i){
// for(int j=i+1;j>0;--j){
// if(series[j]<series[j-1]){
// temp=series[j];
// series[j]=series[j-1];
// series[j-1]=temp;
// }
// }
// }
//}
int main(){
int series[10]={3,1,2,8,7,5,9,4,6,0};
for(int i=0;i<10;++i){
printf("%d ",series[i]);
}
printf("\n");
Insertion_Sort(series,10);
for(int i=0;i<10;++i){
printf("%d ",series[i]);
}
return 0;
}
归并排序:
这里是归并排序原理的详细讲解:http://www.cnblogs.com/chengxiao/p/6194356.html
代码: