首页 > 代码库 > 排序算法总结
排序算法总结
1、插入排序
思想:将无需组中的第一个数插入到有序数组中,这样经过N-1次插入即可完成排序。
C++实现
#include <IOSTREAM>using namespace std;void Insert_Sort(int a[],int n);int main(void){ int a[] = {1,3,5,5,3,2,4}; for (int i=0;i<sizeof(a)/sizeof(a[0]);i++) { cout << a[i] << endl; } Insert_Sort(a,sizeof(a)/sizeof(a[0])); cout << "afert sort:" << endl; for (i=0;i<sizeof(a)/sizeof(a[0]);i++) { cout << a[i] << endl; } return 0;}void Insert_Sort(int a[],int n){ for(int i=1;i<n;i++) { int temp = a[i]; for (int j=i;j>0;j--) { if(temp>a[j-1]) { a[j] = temp; break; } else { a[j] = a[j-1]; } } }}
时间复杂度最坏O(N^2),平均O(N^2),扫描次数N-1.如果是有序数列,则复杂度为O(N-1)。稳定性:稳定
排序算法总结
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。