【題目】設計一種結構,在該結構中有如下三個功能:
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語句作為判斷,滿足該條件就執行裡...