插入排序 回顾_时间复杂度

#include<iostream>
using namespace std;


int main() {
int a[] = {5,4,7,2,9,1,77};
int n = 7;

for(int i=1;i<n;i++) {
int j=i;
while(j>0 && a[j] < a[j-1]) {
swap(a[j] , a[j-1]);
j--;
}
}

for(int i=0;i<n;i++) cout<<a[i]<<" ";
return 0;
}

 

最好情况下:需要比较n-1次,无需交换元素,时间复杂度为O(n);
最坏情况下,时间复杂度为O(n^2).