Standart kütüphanede eş zamanlı olarak set kavşağını hesaplamak ve iki sıralı aralıklar arasındaki farkı ayarlamak için herhangi bir tesis olup olmadığını merak ediyorum. çizgisinde bir imzayla şey: decompose sets
bir çağrıdan sonra, result1
, result2
[first1,last1)
olmayan [first2,last2)
tüm öğeleri içerir, [first2,last2)
olmayan [first1,last1)
tüm unsurları set_difference ve set_intersection eşzamanlı olarak
template <class Input1, class Input2,
class Output1, class Output2, class Output3>
Output3 decompose_sets (Input1 first1, Input1 last1,
Input2 first2, Input2 last2,
Output1 result1, Output2 result2,
Output3 result3);
Böyle içeren
o veresult3
[first1,last1)
ve
[first2,last2)
yaygın olan tüm öğesi içeriyor.
cplusplus.com adresinden set_difference
ve set_intersection
örnek uygulamaları, üç yerine yalnızca bir tarama gerçekleştiren etkili bir uygulama oluşturmama yardımcı olabilirler. Standart kütüphanede olsa bile, tekerleği yeniden icat etmekten nefret ederim.
Örnek, isteğe göre:
göz önüne alındığında iki küme bir = {0, 1, 2, 3, 4} ve b = {2, 4, 5, 6} sonra aşağıdaki üç oluşturmak istiyorum kümeler:
- only_a = {0,1,3}
- only_b = {5,6}
- ortak = {2,4}
Nasıl oldu? [First1, last2) '? – P0W
Örneğin, {0, 1, 2, 3} ve {0, 2, 4, 6} kümeleriyle, ne yapmak istediğinize dair bir örnek verebilir misiniz? – cpp
@ P0W b/c yazım hataları – cheshirekow