您的位置:首页 > 其它

排序 之 快排、归并、插入 - <时间复杂度>----掌握思想和过程

2016-09-12 23:46 253 查看
  俗话说:天下武功无坚不破,唯快不破。对于算法当然也是要使用时间最短、占用空间最小的算法来实现了。

  注意:我代码里面打的备注仅供参考,建议不要背模板(因为没有固定的模板),可以写一个数列按着代码跑两圈或者把代码改一下输出每次排序后的结果。

 总之,师傅领进门,修行在个人。奋斗把!骚年!

※冒泡排序、选择排序:(不稳定,时间复杂度 O(n^2))

/*
*   > File Name: test.cpp
*   > Author: Ddlm2wxm
*   > Mail: Ddlm2wxm@163.com
*   > Created Time: 2016年10月20日 星期四 07时35分53秒
*********************************************************/

#include <iostream>
#include <cstdio>
using namespace std;

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

int main() {
int n;
int a[999];
cin >> n;
for (int i = 0;i < n; ++i) {
cin >> a[i];
}
Insert_sort (a, n);
for (int i =0;i < n; ++i) {
cout << a[i] << " ";
}
cout << endl;
return 0;
}


Insert_sort
简述:个人认为插入排序是最简单的,就是从第一个开始,认为第一个数是有序的,然后依次取后面的数字,通过遍历前面的排序好了的数组寻找取到元素的位置。

 欢迎码友评论,一起成长。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐