삽입 정렬 요약 학습

    삽입 정렬 알고리즘은 또한 정렬 직접 삽입 알려진 단답형 정렬 알고리즘이며, 정렬 알고리즘은 안정적이고, 로컬 순서 데이터의 더 높은 효율을 가진다

    삽입 정렬 알고리즘 (n은 0의 역순 시간 복잡도에 정렬되도록, 0 (N)의 정렬 시간 복잡도의 정렬 된 순서로, 최악의 경우가 최선의 경우를 정렬 할 소량의 데이터를위한 효율적인 * N )

    알고리즘의 아이디어는 : 혼돈의 시퀀스 데이터에서 모든 시간 초과, 시퀀스 장애의 모든 데이터가 올바른 장소를 발견 할 때까지, 반복, 정확한 위치에 넣어 순서 정렬

 

도 1에 도시 된 방법을 사용하여 이하이다.

 

그리고 C 언어에서이 과정을 실현

#include<stdio.h>

void insertSort(int arr[],int len){
	for (int i = 1; i < len; i++)
	{
		if (arr[i]<arr[i-1]){
			int temp = arr[i]; //利用temp保存当前i位置的数据值
			int j = i - 1;
			for (; j >= 0 && arr[j] > temp ; j--)
			{
				//数据进行后移
				arr[j+1] = arr[j];
			}
			arr[j + 1] = temp;
		}
	}
}
void printArray(int arr[],int len){
	for (int i = 0; i < len; i++)
	{
		printf("%d\n",arr[i]);
	}
}
void test01(){
	int arr[] = {5,9,6,1,3,7};
	int len = sizeof(arr)/sizeof(int);
	insertSort(arr,len);

	//打印数组
	printArray(arr,len);
}
int main(){
	test01();
	return 0;
}

 

게시 된 122 개 원래 기사 · 원 찬양 58 ·은 40000 +를 볼

추천

출처blog.csdn.net/qq_39112646/article/details/103302412