Ayant un VecDeque
deq
et un item
, comment puis-je savoir si deq
contient item
? Je peux le faire avec un itérateur:Vérifiez si VecDeque contient un élément
deq.iter().find(|e| e == item).is_none()
Mais c'est beaucoup de code. Je veux juste dire deq.contains(item)
, mais VecDeque
n'a pas une telle méthode (éditer: pas vrai plus, voir my answer). Des alternatives?
Je suppose que 'Vec' et' VecDeque' n'exposent pas cette méthode car il faudra toujours une opération 'O (n)' pour ces structures de données. Peut-être qu'une structure de données différente serait plus appropriée pour votre cas? – Shepmaster
@Shepmaster en fait, 'Vec' expose' contains() 'à travers son deref à une tranche: [ici] (http://doc.rust-lang.org/std/primitive.slice.html#method.contains). –
@VladimirMatveev c'est ce que je reçois pour assumer! – Shepmaster