算法——排序(一)直接插入排序
2016-06-15 09:58
337 查看
一、直接插入排序
时间复杂度 和 平均时间复杂度 O(n2)
空间复杂读O(1) 稳定排序
时间复杂度 和 平均时间复杂度 O(n2)
空间复杂读O(1) 稳定排序
<pre name="code" class="cpp">#include <iostream> #include <vector> #include <cstdlib> using namespace std; void InSort ( int* L,int n) { //对数组L进行直接插入排序 int i,j; for(i=2;i<=n;i++){ if(L[i]<L[i-1]){ L[0]=L[i]; L[i]=L[i-1]; for(j=i-2;L[j]>L[0];j--){ L[j+1]=L[j]; } L[j+1]=L[0]; } } } int main() { int a[100],n=0; a[0]=0; cout<<"输入数据的大小:"<<endl; cin>>n; cout<<"输入需要排序的数据:"<<endl; for(int i=1;i<=n;i++){ cin>>a[i]; } cout<<"输出原数据:"<<endl; for(int i=0;i<=n;i++){ cout<<a[i]<<endl; } InSort(a,n); cout<<"排序后数据:"<<endl; for(int i=1;i<=n;i++){ cout<<a[i]<<endl; } return 0; system("pause"); }
相关文章推荐
- 沃通CA受邀在2016欧洲电子签名论坛(EFPE)发表演讲
- redis如何查看版本号?
- 深入理解java异常处理机制
- jstl fn:replace替换换行符
- Mac下Sublime安装Emmet插件详解 (步骤配图)
- handler+message
- MYSQL通用分页存储过程
- 0615每日小记 ViewPager+Fragment
- linux下bus、devices和platform的基础模型
- Android Animation模式详解
- there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause
- 外贸企业如何选择域名
- tableView 加载cell xib文件
- python读conf配置文件--ConfigParser
- Linux搭建svn服务器
- 课程总结
- Android Studio调试功能使用总结【转】
- ng-model指令
- Android Studio使用心得
- UML元素和UML关系图符号简介