PAT乙级补充知识:直接插入排序与归并排序

插入排序:

直接插入排序原理如图(图片转自: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
在这里插入图片描述

代码:


猜你喜欢

转载自blog.csdn.net/qq_37205425/article/details/84000811
今日推荐