利用set容器和運算子過載實現兩陣列比較

2021-10-01 10:45:09 字數 1560 閱讀 3123

set

關於set容器詳細可看此文章:

c++中set的用法

題目要求,友元函式運算子過載實現兩個陣列比較,可以無序

因為set容器裡的值是唯一的,並且底層自動排序,這裡用set容器實現

#include

"iostream"

#include

"iomanip"

#include

"string.h"

#include

"cmath"

#include

"algorithm"

//演算法標頭檔案

#include

using namespace std;

class set

set<

int>

::iterator iter;

iter = s.

begin()

;while

(iter != s.

end())

cout<

; set:

:set

(int

*p,int len)

int operator==

(set &s1, set &s2)

/* c++ 裡set 值不能重複,自動排序

把兩個物件陣列中的元素放到兩個set容器裡

遍歷容器返回結果

*/set<

int> set1,set2;

for(

int i=

0; i

(set1.

size()

!= set2.

size()

) set<

int>

::iterator iter1,iter2;

//宣告迭代器

過載雙目運算子和過載單目運算子

new 和delete是單目運算子。strcmp函式將兩個字串進行比較,相等返回0 小於返回負數 大於返回正數。strcpy的用法 函式原型 char strcpy char est.const char src 功能是從src位址開始且含有null結束符的字串複製到以dest位址開始的字串中,並返...

過載前置 運算子和後置 運算子

運算子過載的主要目的是為了讓使用者自定義型別物件可以像普通資料型別一樣能夠進行加減乘除,自加自減等操作,非常直觀方便。在這裡總結一下c 的 分前置與後置 運算子的過載。自減運算子同理。關鍵就是如何通知編譯器,讓它知道哪個是前置版本,哪個是後置版本。如何讓編譯器知道是前置還是後置呢?其實很簡單,只要在...

Swift 運算子過載和運算子函式

讓已有的運算子對自定義的類和結構進行運算或者重新定義已有運算子的運算規則,這種機制被稱為運算子過載。1,通過過載加號運算子,使自定義的兩個座標結構體物件實現相加 12 3456 78910 11structcenterpointer func left centerpointer,right cen...