插入排序

张湛谦1發表於2024-04-05
#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;
}
//基本思想:把要排序的陣列分為已排序和未排序兩部分, 
//再從未排序部分逐個去除元素, 
//把它和已排序元素進行比較, 
//從右到左比較相鄰的兩個元素, 
//如果右邊的元素比左邊的元素小, 
//則交換兩個元素,並向左繼續比較和交換, 
//否則就停止比較。 
//按此處理未排序部分的所有元素,
//最終得到一個按升序排序的有序組織。
//這種演算法也叫直接插入排序 

  

相關文章