RandomPool結構設計(C )

2021-09-13 14:43:01 字數 722 閱讀 4379

【題目】設計一種結構,在該結構中有如下三個功能:

insert(key):將某個key加入到該結構,做到不重複加入。

delete(key):將原本在結構中的某個key移除。

getrandom():等概率隨機返回結構中的任何乙個key。

要求:insert、delete和getrandom方法的時間複雜度都是o(1)

#include#include#include#include#include#includetemplateclass randompool

~randompool()

void insert(t key);

void _delete(t key);

t getrandom();

};templatevoid randompool::insert(t key)

}templatevoid randompool::_delete(t key)

}templatet randompool::getrandom()

int index = rand() % size;

return indexkeymap[index];

}int main()

catch (std::exception& e)

system("pause");

return 0;

}

高階結構設計

1.軟體設計引論 2.結構化設計 3.物件導向設計 物件導向設計方法的特點 通過對實際問題的分析,從中抽象出物件,再使用程式語言來表現它 物件導向設計方法的過程 識別物件中的子物件,並識別出對於子物件的操作,然後再根據子物件的操作開發出乙個系統 結構化設計和物件導向設計共有特性 1.將乙個系統分解成...

迴圈結構設計

c語言有2種常用的迴圈結構,分別是for迴圈和while迴圈。其中while迴圈使用的頻率相對較多,下面我們先看for迴圈。for迴圈 for 這是乙個死迴圈,何為死迴圈,就是永不停止的迴圈。比如for 分割線 int i for i 0 i 10 i 該語句表示,迴圈列印10次hello worl...

選擇結構設計

一 選擇結構和條件判斷。1 用if語句實現選擇結構 例 輸出三個數,將其按從大到小排列輸出。在這裡插入 片 include int main if a c if b c printf a d,b d,c d n a,b,c 解釋 定義三個數a,b,c用來比大小 用if語句作為判斷,滿足該條件就執行裡...