***

2743 ワード

1.STLにおけるuniqueメソッド
Uniqueメソッドは隣接する重複要素を削除するだけです
ケース1:
int main()
{
    vector<int> i_vec;
    vector<int>::iterator it,it_New_end;
    i_vec.push_back(3);
    i_vec.push_back(6);
    i_vec.push_back(3);
    i_vec.push_back(5);
    i_vec.push_back(6);
    printf("unique  :");
    for (it = i_vec.begin(); it != i_vec.end(); it++)
    {
        printf("%d ", *it);
    }
    it_New_end = unique(i_vec.begin(), i_vec.end());
    printf("
unique :"); for (it = i_vec.begin(); it != it_New_end; it++) { printf("%d ", *it); } return 0; }

結果:unique前:3 6 3 5 6 unique後:3 6 3 5 6
 
ケース2:
int main()
{
    vector<int> i_vec;
    vector<int>::iterator it,it_New_end;
    i_vec.push_back(3);
    i_vec.push_back(3); 
    i_vec.push_back(6);
    i_vec.push_back(6);
    i_vec.push_back(3);
    i_vec.push_back(5);
    i_vec.push_back(6);
    printf("unique  :");
    for (it = i_vec.begin(); it != i_vec.end(); it++)
    {
        printf("%d ", *it);
    }
    it_New_end = unique(i_vec.begin(), i_vec.end());
    printf("
unique :"); for (it = i_vec.begin(); it != it_New_end; it++) { printf("%d ", *it); } return 0; }

結果:
Unique前:3 3 3 6 6 3 5 6
unique後:3 6 3 5 6
 
ケース3:
int main()
{
    vector<int> i_vec;
    vector<int>::iterator it,it_New_end;
    i_vec.push_back(3);
    i_vec.push_back(3);
    i_vec.push_back(6);
    i_vec.push_back(6);
    i_vec.push_back(3);
    i_vec.push_back(5);
    i_vec.push_back(6);
    printf("unique  :");
    for (it = i_vec.begin(); it != i_vec.end(); it++)
    {
        printf("%d ", *it);
    }
    it_New_end = unique(i_vec.begin(), i_vec.end());
    printf("
unique :");     for (it = i_vec.begin(); it != i_vec.end(); it++)     {         printf("%d ", *it);     }     return 0; }

結果:
Unique前:3 3 3 6 6 3 5 6
unique後:3 6 3 5 6 6