北郵 複數集合(結構體中優先佇列的運算子過載方法)

2021-08-19 19:03:58 字數 638 閱讀 5654

現在是2023年5月8號早上7點48,馬上要去上編譯原理實驗課。

紀念一下!

嘻嘻~乙個複數(x+iy)集合,兩種操作作用在該集合上:     1、pop 表示讀出集合中複數模值最大的那個複數,如集合為空 輸出  empty  ,不為空就輸出最大的那個複數並且從集合中刪除那個複數,再輸出集合的大小size;     2 insert a+ib  指令(a,b表示實部和虛部),將a+ib加入到集合中 ,輸出集合的大小size;     最開始要讀入乙個int n,表示接下來的n行每一行都是一條命令。

輸入有多組資料。

每組輸入乙個n(1<=n<=1000),然後再輸入n條指令。

根據指令輸出結果。

模相等的輸出b較小的複數。

a和b都是非負數。

示例1

3

popinsert 1+i2

pop

empty

size = 1

1+i2

size = 0

#include using namespace std;

struct fushu//定義複數類

};int main()}}

}

優先佇列和結構體的運算子過載

自定義結構體是做題必須要學會的,而且經常需要用到自定義其排序規則。優先佇列也是,對於基本資料型別來說,不用自定義優先規則,但是對於自定義資料型別來說,確實是需要自己定義其內部的排序規則的。今天發現原來兩者的定義規則可以使用同一種方式來定義。struct node node int xx,int yy...

結構體中運算子的過載

c 中,結構體是無法進行 這些操作的,這也帶來了很多不方便的地方,尤其是在使用stl容器的時候,如果我們可以往語句中傳入結構體,一些事情將會變得很簡單。比如二分查詢,binary crearch只能對陣列進行查詢,如果是結構體陣列的話,它會報錯。但很可惜,實際程式設計中,大部分時候操作物件是結構體陣...

結構體的運算子過載

1 定義結構體 structcurrency 2 過載io輸出操作,在結構體內部將輸入操作的過載定義為友元函式過載 friendostream operator ostream out,currency value 在結構體外部進行具體定義 ostream operator ostream out,...