插入排序与冒泡排序的区别:
冒泡排序是每次循环找出第i大的数字,循环N-1次则完成排序;
插入排序就是默认第一个数字已排好序,从第二个数字开始与前面排好序的数字进行比较,插入进合适的位置,循环N-1次,完成排序;
// Insertion Sort :插入排序
// @author by JianJiao 2020年11月21日
#include<iostream>
using namespace std;
void insertSort(int num[],int len){
for(int i = 0;i < len-1;i++){
for(int j = i+1;j > 0;j--){
while(num[j]<num[j-1]){
swap(num[j],num[j-1]);
}
}
}
for(int i = 0;i < len;i++){
cout << num[i] << " ";
}
cout << endl;
}
void swap(int &a,int &b){
int temp;
temp = a;
a = b;
b = temp;
}
int main(){
int num[] = {3,2,4,7,1,9};
int len = sizeof(num)/sizeof(num[0]);
insertSort(num,len);
return 0;
}
排序结果: