您的位置:首页 > 编程语言 > C语言/C++

[算法导论]2.2节编程练习C++实现

2016-09-24 16:45 405 查看
2.2节重点描述评估算法性能的工具—时间复杂度。

练习:

2.2-3 选择排序算法的实现。由于选择排序在最好情况的输入下也要将数组中的值全部都比较一遍,所以其在最好情况和最坏情况下的时间复杂度均为n^2。
#include <windows.h>
#include <iostream>
#include <vector>
using namespace std;
vector<int> select(vector<int>& A){
int len = A.size();
for (int i = 0; i < len-1; i++){
int j = i;
int tem = A[i];
int index = i;
for (; j < len; j++){
if (A[j] < tem){
tem = A[j];
index = j;
}
}
A[index] = A[i];
A[i] = tem;
}
return A;
}
int main(){
vector<int> A = { 6, 4, 3, 5, 2 };
vector<int> B = select(A);
for (int i = 0; i < B.size(); i++)
cout << B[i];
cout << endl;
cin.get();
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C++ 算法导论