STL sort用法

sort函数有两个参数和三个参数的,两个参数的简单些只需起始iterator和终止iterator。

下面用一个例子说明三个参数的sort函数的用法:

如:

34        234
324      213
46        2
6          35
46        5

对第一列进行排序,第二列对应原先的数值保持不变,排序后:

6          35

34        234

46        2

46        5

324      213

程序代码:

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

typedef struct tagTwoNum
{
    int x;
    int y;
}TWO_NUM;

bool my_fun(TWO_NUM t1, TWO_NUM t2)
{
    return (t1.x < t2.x);
}

int main(void)
{
    TWO_NUM temp[] = {34, 234,
                    324, 213,
                    46, 2,
                    6, 35,
                    46, 5};
    vector<TWO_NUM> vt(temp, temp+5);
    vector<TWO_NUM>::iterator iter;

    sort(vt.begin(), vt.end(), my_fun);

    for (iter=vt.begin(); iter!=vt.end(); ++iter)
    {
        cout << (*iter).x << "\t" << (*iter).y << endl;
    }
    
    return 0;
}



你可能感兴趣的:(struct,iterator,fun)