C++標準ライブラリvectorソート
1732 ワード
おとといC++STLのvector容器を並べ替え操作をしました.これまでvectorを容量が自動的に変化する配列としていました.はい、配列です.だから、配列を並べ替える方法に従います.クイック並べ替えやバブル並べ替えなどの計算法で自分で並べ替えの関数を書くつもりです.あとでSTLがこんなに強いと思って、自分のソート方法があるはず(よく勉強していないでしょう)、それからgoogleに行ってみましたが、やはりありますし、ソートをカスタマイズできる関数が強すぎます(しかも効率は自分で書いたほうがいいでしょう).
// VectorSort.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include
#include
#include
//
struct Test {
int member1;
int member2;
};
//
bool SortByM1( const Test &v1, const Test &v2)// : vector
{
return v1.member1 < v2.member1;//
}
void MyPushback(std::vector & vecTest, const int &m1, const int &m2)
{
Test test;
test.member1 = m1;
test.member2 = m2;
vecTest.push_back(test);
}
void PrintVector( std::vector & vec)
{
/*
,
vec.begin() ,
vec.end() vector ( , )
:Returns an iterator referring to the past-the-end element in the vector container.
*/
for(std::vector::iterator it = vec.begin() ; it != vec.end() ; it++ )
{
std::cout<member1<member2<<:endl int="" _tmain="" argc="" _tchar="" argv="" std::vector=""> vecTest;
MyPushback(vecTest,9,1);
MyPushback(vecTest,8,2);
MyPushback(vecTest,7,3);
MyPushback(vecTest,6,4);
MyPushback(vecTest,5,5);
MyPushback(vecTest,4,6);
MyPushback(vecTest,3,7);
MyPushback(vecTest,2,8);
MyPushback(vecTest,1,9);
//
std::cout<