插入排序

#include <iostream>
using namespace std;
int main(){ 
	int a[10]={99,1,2,3,164,5,6,71,8,4};
	int max;
	for(int i=1;i<10;i++){
		for(int j=i;j>0;j--){
			if(a[j-1]>a[j]){
				swap(a[j],a[j-1]);
			}else{
				break;
			}
		}
	}
	for(int i=0;i<10;i++){
		cout<<a[i]<<" ";
	}
	return 0;
}
//基本思想:把要排序的数组分为已排序和未排序两部分, 
//再从未排序部分逐个去除元素, 
//把它和已排序元素进行比较, 
//从右到左比较相邻的两个元素, 
//如果右边的元素比左边的元素小, 
//则交换两个元素,并向左继续比较和交换, 
//否则就停止比较。 
//按此处理未排序部分的所有元素,
//最终得到一个按升序排序的有序组织。
//这种算法也叫直接插入排序 

  

posted @ 2024-04-05 09:44  最后一个还有我  阅读(8)  评论(0)    收藏  举报