タグ

ブックマーク / minus9d.hatenablog.com (2)

  • C++で構造体をソートする4つの方法(おまけあり) - minus9d's diary

    自分で定義した構造体data_tをvectorにつっこみ、STLのsort()関数でソートすることを考える。以下のように書いてコンパイルを試みると、読解不能な大量のエラーメッセージとともにコンパイルが失敗する。 #include <iostream> #include <string> #include <vector> using namespace std; struct data_t { int num; string str; } ; int main(){ vector<data_t> data_array(3); data_array[0].num = 15; data_array[0].str = "zzz"; data_array[1].num = 30; data_array[1].str = "aaa"; data_array[2].num = 15; data_arr

    C++で構造体をソートする4つの方法(おまけあり) - minus9d's diary
    uechoco
    uechoco 2015/05/28
    vector、sort、構造体、クラス、比較演算子
  • STLのvectorから同一要素を削除 - minus9d's diary

    1つ目の方法は、sortして、uniqueして、eraseする方法。uniqueは、vectorの要素のうち、となり合う同じ要素をまとめて一つにする関数。しかしuniqueを使うだけでは末尾にゴミが残るので、そのゴミをeraseで削除する。覚えるのは少し大変。 #include <vector> #include <algorithm> #include <iostream> using namespace std; void printVector( vector<int> &vec ){ cout << "size = " << vec.size() << endl; for(int i = 0; i < (int)vec.size(); ++i){ cout << vec[i] << ", "; } cout << endl << endl; } int main(void){ //

    STLのvectorから同一要素を削除 - minus9d's diary
    uechoco
    uechoco 2014/11/27
    std::vector、std::unique、sortしてuniqueしてeraseするか、setしてvectorに戻すか
  • 1