d类似C++的集差

原文

const std::vector<int> v1{1, 2, 5, 5, 5, 9};
    const std::vector<int> v2{2, 5, 7};
    std::vector<int> diff;

    std::set_difference(v1.begin(), v1.end(), v2.begin(), v2.end(),std::inserter(diff, diff.begin()));
    print(v1, "? ");
    print(v2, "= ");
    print(diff, "\n");

    // yielding { 1 2 5 5 5 9 } ? { 2 5 7 } = { 1 5 5 9 }

D版:

import std.stdio, std.algorithm.setops, std.array;

void main() {
    int[] v1 = [1, 2, 5, 5, 5, 9];
    int[] v2 = [2, 5, 7];
    int[] v3 = setDifference(v1, v2).array;

    writefln!"%s \\ %s = %s"(v1, v2, v3);
}
//产生
[1, 2, 5, 5, 5, 9] \ [2, 5, 7] = [1, 5, 5, 9]
posted @ 2023-02-04 10:22  zjh6  阅读(30)  评论(0)    收藏  举报  来源