1

別のチェーンを使用したハッシュ テーブルの実装に関する手書きのメモに従っています。特に、私はこの機能を探しています:

list<ListCell>::iterator TablaHash::FoundOnList(int key, int table_row){
    for(list<ListCell>::iterator found= table[table_row].begin(); 
            found != table[table_row].end();found++){
        if((*found).Key() == key){
            return found;
        }
    }
    return Ø;
}

ここで、最後の記号は空集合です。そこに「空の」イテレータを返す必要があることは理解していますが、どうすればよいですか? 多分 end() イテレータを返しますか?

4

2 に答える 2

1

はい、end()反復子を返すことは、C++ では最も自然なことです。

たとえば、検索された項目が見つからない場合std::findは反復子を返します。end

于 2015-08-02T17:20:19.303 に答える
0

C++ には空の反復子の概念はありません。end() イテレータを返す必要があります。標準の STL アルゴリズムでさえ、同じことを行います。

于 2015-08-02T17:21:50.490 に答える