欢迎光临
我们一直在努力

408数据结构算法-2016

#include <iostream>
#include <vector>

using namespace std;

void showVector(vector<int> v) {
    for (int i: v) {
        cout << i << " ";
    }
    cout << endl;
}

void func1(vector<int> &A, vector<int> &A1, vector<int> &A2) { // N^2复杂度
    // 选出最大的 n/2 个元素放入A1
    bool flag[A.size()];
    for (int i = 0; i < A.size(); i++)flag[i] = false;

    for (int i = 0; i < A.size() / 2; i++) { // 选择出前 n/2 个最大的元素
        int max = -1, index = -1;
        for (int j = 0; j < A.size(); j++) {
            if (A[j] > max and not flag[j]) {
                max = A[j], index = j;
            }
        }
        A1.push_back(max);
        flag[index] = true;
    }
    for (int j = 0; j < A.size(); j++) {
        if (!flag[j]) {
            A2.push_back(A[j]);
        }
    }
}

int main() {
    vector<int> A = {21, 35, 5, 17, 15};
    vector<int> A1, A2;
    showVector(A1), showVector(A2);
    func1(A, A1, A2);
    showVector(A1), showVector(A2);
}
未经允许不得转载:Caldow » 408数据结构算法-2016
分享到: 生成海报

评论 抢沙发

评论前必须登录!

立即登录  

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录