插入排序
来源:互联网 发布:structure软件 使用 编辑:程序博客网 时间:2024/04/30 16:02
插入排序:
每个数都会与前面的数进行比较,插入到自己应该在的位置,然后排在它后面的数,依次往后移动一位。
代码:
#include<iostream>
#defineMAXN 10000
usingnamespace std;
int main()
{
int A[MAXN];
int i=0,j=0;
int temp;
int num;
cin >> num;
for(i=0 ; i<num ; i++){
cin >> A[i];
}
for(j=1 ; j<num ; j++){
temp = A[j];
i = j-1;
while(i>=0&&A[i]>temp){
A[i+1] = A[i];
i = i - 1;
A[i+1] = temp;
}
}
for(i=0 ; i<num ; i++){
cout << A[i] << "";
}
cout << endl;
return 0;
}
<------- over ------->
for j = 2 to A.length //这行代码的times是n,(n-1+1),最后还要判断一次所以要加一,相类似的代码都是这个原理
key = A[i]; //这个的times就是n-1;
时间复杂度:插入排序对随即顺序的序列的时间复杂度也为O(N^2),但是对于基本有序的序列进行排序时间复杂度为O(N)
- 插入排序-【插入排序】
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 使用Git分布式版本控制系统
- 最通俗易懂的网络应用层协议详解
- 10 种机器学习算法的要点(附 Python 和 R 代码)(转载)
- 数据中心工具———虚拟网络方案Calico初探
- 前端模板引擎,数据内存分组
- 插入排序
- fasfasfasfaszfsaf
- EditText
- java 操作xml--> xmlpull
- C# Development 13 Things Every C# Developer Should Know--C#开发人员应该知道的13件事情
- leetcode_middle_59_300. Longest Increasing Subsequence
- android控件的属性
- .class文件的version问题
- HDU 2196 Computer 两种做法最详细题解(树形DP经典)