插入排序
来源:互联网 发布:mac word 繁简转换 编辑:程序博客网 时间:2024/06/04 01:10
#include<iostream>using namespace std;void Insort_sort(int arry[],int n){int i,j,key;for(j=1;j<n;j++){i=j-1;key=arry[j];while(i>=0&&arry[i]>key)//找到arry[j]要插入的位置{arry[i+1]=arry[i];i--;}arry[i+1]=key;}}int main(){int n,*arry;cin>>n;arry=new int[n];for(int i=0;i<n;i++)cin>>arry[i];Insort_sort(arry,n);for(i=0;i<n;i++)cout<<arry[i]<<' ';cout<<endl;return 0;}
最好情况下数组刚好有序,不用进入while循环,时间复杂度为O(n)。
最坏情况下数组逆序,while循环要循环到I=0,此时时间复杂度为O(n^2)
空间复杂度为O(1),是稳定的排序。
- 插入排序-【插入排序】
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- vim之删除^M
- struts2的值栈排列顺序
- 使用Swing实现窗体震动效果(运用了Timer类)
- CCNotificationCenter处理消息事件
- Ununtu下载Android源代码
- 插入排序
- UVa 11317 GCD+LCM 欧拉函数log求位数
- 匹配算法(网络摘抄)-KMP
- Simpsons’ Hidden Talents (KMP)
- ASP.NET中Cookie的用法
- struts工作流程及各种文件详解
- oracle DBMS_SYSTEM
- VC2008下使用OpenSSL 1.0.0g(免编译)
- POJ 2528 离散化+线段树染色