插入排序_递归版本

插入排序_递归版本

 #include

using namespace std;

void insertSort(int arr[], int n){
	if(n == 0)return;
	insertSort(arr, n - 1);
	int i = n - 1;
	int key = arr[n];
	while(i >= 0 && arr[i] > key){
		arr[i + 1] = arr[i];
		i--;
	}
	
	arr[i + 1] = key;
}

int main(){
	
	int arr[10] = {3,5,6,7,8,2,1,0,9,4};
	insertSort(arr, 9);
	for(int i = 0; i < 10; i++){
		printf("%d ", arr[i]);
	}
	
	return 0;
}

你可能感兴趣的:(算法导论)