Nice to meet you

插入排序

// 7,4,9,5,2,6,7,10
插入排序,实际就是拿出一个数,与前面的比较,放到正确的位置上,然后对后面的数做移动,循环往复

#include<iostream>

using namespace std;

int compare(int a,int b){
	if(a > b){
		return 1;
	}else if(a == b){
		return 0;
	}else{
		return -1;
	}
}

int swap(int *a,int *b){
	int temp = *a;
	*a = *b;
	*b = temp;
}

// 7,4,9,5,2,6,7,10
void insert_sort(int arr[],int len){
	if(arr == NULL || len == 0 || len == 1){
		return;
	}
	for(int i = 1; i < len; ++i){
		int j = i - 1,value = arr[i];
		while(j >= 0 && compare(value,arr[j]) > 0){
			swap(&arr[j],&arr[j+1]);
			j--;	
		}
	}
}

int main(){
	
	int arr[8] = {7,4,9,5,2,6,7,10};
	insert_sort(arr,8);
	for(int i = 0; i < 8; ++i){
		cout<<arr[i]<<endl;
	}
	return 0;
}
posted @ 2022-07-20 15:58  魏标  阅读(20)  评论(0)    收藏  举报