C/C++編程筆記:教你一招丨求兩個(gè) vector 中不同的所有元素

核心知識(shí):set_symmetric_difference

兩個(gè)排序范圍
兩組中的對(duì)稱性差異是由一組中的元素而不是另一組中的元素形成的。在每個(gè)范圍的等效元素中,被丟棄的元素是按調(diào)用之前的先后順序出現(xiàn)的元素。對(duì)于已復(fù)制的元素,還將保留現(xiàn)有順序。
對(duì)于第一個(gè)版本,使用operator <進(jìn)行比較,而對(duì)于第二個(gè)版本,使用comp進(jìn)行比較。如果(?。╝ <b)&&?。╞ <a))或if(!comp(a,b)&&!comp(b,a)),則認(rèn)為兩個(gè)元素a和b是等效的。
范圍內(nèi)的元素應(yīng)已訂購(gòu)。
1.使用默認(rèn)運(yùn)算符<:
句法 :

代碼示例:

輸出:
第一個(gè)數(shù)組包含:5 10 15 20 25
第二個(gè)數(shù)組包含:50 40 30 20 10
對(duì)稱差有6個(gè)元素: 5 15 25 30 40 50
2.使用自定義功能:
句法:

代碼示例:


輸出:
第一個(gè)數(shù)組包含:5 10 15 20 25
第二個(gè)數(shù)組包含:50 40 30 20 10
對(duì)稱差有6個(gè)元素: 5 15 25 30 40 50
可能的應(yīng)用:用于查找一個(gè)容器中存在的元素,而不是其他容器中存在的元素。
1.用于查找未同時(shí)參加這兩個(gè)課程的學(xué)生列表。這兩個(gè)班的學(xué)生都在列表中。
代碼示例:

.輸出 :
參加第一堂課的學(xué)生是:Samir Manoj Pranav Rajesh?
參加第二堂課的學(xué)生是:Samir Junaid Manoj Pankaj Arpit?
不參加這兩個(gè)課程的學(xué)生名單:Junaid Pankaj Arpit Pranav Rajesh
當(dāng)然,它也可以用于從兩個(gè)列表中查找兩個(gè)列表中都不存在的數(shù)字。
文章來(lái)自丨極客學(xué)院
每天學(xué)點(diǎn)小知識(shí),希望對(duì)你有幫助~
另外如果你想更好的提升你的編程能力,學(xué)好C語(yǔ)言C++編程!彎道超車,快人一步!筆者這里或許可以幫到你~

UP在主頁(yè)上傳了一些學(xué)習(xí)C/C++編程的視頻教程,有興趣或者正在學(xué)習(xí)的小伙伴一定要去看一看哦!會(huì)對(duì)你有幫助的~
分享(源碼、項(xiàng)目實(shí)戰(zhàn)視頻、項(xiàng)目筆記,基礎(chǔ)入門(mén)教程)
歡迎轉(zhuǎn)行和學(xué)習(xí)編程的伙伴,利用更多的資料學(xué)習(xí)成長(zhǎng)比自己琢磨更快哦!
編程學(xué)習(xí)書(shū)籍分享:

編程學(xué)習(xí)視頻分享:
