クラスがあります
class Zaposlenik {
private:
string prezime;
string funkcija;
double placa;
public:
bool operator==(const string& prezime) const;
bool operator<(const string &prezime) const;
bool operator<(const Zaposlenik &other) const;
二分探索には文字列付きの演算子を使用し、ソートには Zaposlenik 付きの operator< を使用します
ヘッダー クラスを変更できません。.cpp でしかコードを記述できません。
私も持っています
class Firma {
private:
vector<Zaposlenik> zaposlenici;
public:
void sort();
そのクラスも変更できません。.cpp を作成する必要があります。2 .cpp を自動グレーディング サーバーにアップロードします。このサーバーは、500,000 Zaposlenik をベクター zaposlenici に入力し、2,000,000 回の検索を実行します。
qsort と bsearch を使用しましたが、遅すぎました。アップロードするときに 3 秒より長くすることはできません。
私はオーバーロードされた演算子を書きましたが、それらは問題ないと思いますが、どうやらqsortの方が高速になる可能性があります。
ベクターは文字列prezimeでソートされており、名前は「aaaa」から「ZZZZ」までなので大小の4文字の組み合わせ。
string funkcija;
double placa;
並べ替えには何の意味もありません。
誰かがqsortよりも速いソートを教えてもらえますか? メインを制御することはできず、メンバーが作成されたときにメンバーを数えることはできないことに注意してください。
PSクラスには他の関数がありますが、この部分には意味がありません。Bsearch の機能もありますが、それは信じられないほど高速です。