查找2个数组的交集并将其存储在动态数组C ++中

时间:2018-08-07 21:56:20

标签: c++ arrays

问题要求用户输入2个数组的交集并将其存储在第3个数组中,但第3个数组不应占用额外的字节。 这是我到目前为止编写的代码。它确实提供了正确的输出,但是它也打印了垃圾值。

$('.sendspacsdatato').click(function() {

    var form = $(this).closest('form');
    var id = form.find('input[name="product_id"]').val();

    $.ajax({
        type: "post",
        url: '{{ url('admin/spacssendto') }}/'+encodeURI(id),
        data: {
            '_token': form.find('input[name=_token]').val(),
            'product_id': id,
            'subspecification_id': form.find('select.subspecifications').val(),
        },
        success: function (data) {
            alert(data);
        },
        error: function (data) {
            alert(data);
        }
    });
});

1 个答案:

答案 0 :(得分:0)

这是标准库可以提供很多帮助的案例的教科书示例。除非您确实出于某些原因需要避免使用它们,否则请考虑使用std::vectorstd::sortstd::set_intersection

这是一个简单的例子:

#include <iostream>
#include <algorithm>
#include <vector>
#include <iterator>

int main() { 
    std::vector<int> arr1 { 9, 1, 24, 8, 4, 7, 3, 6, 2, 135 };
    std::vector<int> arr2 { 3, 12, 21, 4, 11, 1, 19, 2, 10 };

    std::sort(arr1.begin(), arr1.end());
    std::sort(arr2.begin(), arr2.end());

    std::set_intersection(arr1.begin(), arr1.end(), 
                arr2.begin(), arr2.end(),
                std::ostream_iterator<int>(std::cout, "\n"));
}