Sıralı bir tamsayı kümem var mı, xs ve x lerdeki tüm tam sayıları [x, y], yani almak istiyorum. x ve y arasında.Sayı dizisini nasıl clojure içinde iki tamsayı arasında sıralanmış bir kümede alabilirim?
Yapabileceğim:
(select #(and (>= % x) (< % y)) xs)
Ama bu verimsizdir - bu O (n günlük) olabilecekken O (n), ben öğelerin sayısı küçük olması döndü bekliyoruz. Take-while ve drop-while kullanımı y'ye ulaştığımda çıkmama izin verecek, ama yine de x'e verimli bir şekilde atlayamıyorum.
set<int>::iterator first = xs.lower_bound(x);
set<int>::iterator last = xs.lower_bound(y);
for (; first != last; ++first)
// do something with *first
ben Clojure bunu Can:
Ben sadece çok burada Clojure öğreniyorum ben C++ yapacağını nasıl?