Practice2_vector_sort_struct

 VS2008

// Practice2_vector_sort_struct.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <iostream>
#include <vector>
#include <algorithm>
#include <ctime>

using namespace std;

/* init*/
void initVector(vector<int> &vec, unsigned int size)
{
srand(unsigned(time(NULL)));
for(unsigned int i = 0; i < size; i++)
{
vec.push_back(rand()%10);
}
}

/* print*/
void printVector(vector<int> vec)
{
vector<int>::iterator it = vec.begin();
for(; it != vec.end(); ++it)
{
cout<<*it<<" ";
}
cout<<endl;
}

//升序排序
bool lessVector(int a, int b)
{
return a < b;
}

//降序排序
bool moreVector(int a, int b)
{
return a > b;
}

int _tmain(int argc, _TCHAR* argv[])
{
vector<int> vect;
initVector(vect, 4);
cout<<"before sort"<<endl;
printVector(vect);
sort(vect.begin(), vect.end(), moreVector);//加第三个bool类型的比较器
cout<<"after sort"<<endl;
printVector(vect);
return 0;
}

原文地址:https://www.cnblogs.com/liuzc/p/6473153.html