本人需要对以下一段数字先按X轴大小排列,在按照Y轴坐标的大小进行排序,请问怎么编写代码?请给位大神赐教
X轴 331.1789
Y轴 27.4097
Z轴 104.5347
X轴 312.3313
Y轴 16.4205
Z轴 104.1986
X轴 331.1720
Y轴 38.4278
Z轴 103.1351
X轴 312.2913
Y轴 43.9464
Z轴 100.5957
X轴 331.1754
Y轴 32.9154
Z轴 103.8131
MFC
X轴 331.1789
Y轴 27.4097
Z轴 104.5347
X轴 312.3313
Y轴 16.4205
Z轴 104.1986
X轴 331.1720
Y轴 38.4278
Z轴 103.1351
X轴 312.2913
Y轴 43.9464
Z轴 100.5957
X轴 331.1754
Y轴 32.9154
Z轴 103.8131
MFC
是以最后结果为准么?
那直接按y轴就好了!sort stl的函数
template<class RandomAccessIterator>
void sort(
RandomAccessIterator _First,
RandomAccessIterator _Last
);
// compile with: /EHsc
#include <vector>
#include <algorithm>
#include <functional> // For greater<int>( )
#include <iostream>// Return whether first element is greater than the second
bool UDgreater ( int elem1, int elem2 )
{
return elem1 > elem2;
}int main( )
{
using namespace std;
vector <int> v1;
vector <int>::iterator Iter1; int i;
for ( i = 0 ; i <= 5 ; i++ )
{
v1.push_back( 2 * i );
} int ii;
for ( ii = 0 ; ii <= 5 ; ii++ )
{
v1.push_back( 2 * ii + 1 );
} cout << "Original vector v1 = ( " ;
for ( Iter1 = v1.begin( ) ; Iter1 != v1.end( ) ; Iter1++ )
cout << *Iter1 << " ";
cout << ")" << endl; sort( v1.begin( ), v1.end( ) );
cout << "Sorted vector v1 = ( " ;
for ( Iter1 = v1.begin( ) ; Iter1 != v1.end( ) ; Iter1++ )
cout << *Iter1 << " ";
cout << ")" << endl; // To sort in descending order. specify binary predicate
sort( v1.begin( ), v1.end( ), greater<int>( ) );
cout << "Resorted (greater) vector v1 = ( " ;
for ( Iter1 = v1.begin( ) ; Iter1 != v1.end( ) ; Iter1++ )
cout << *Iter1 << " ";
cout << ")" << endl; // A user-defined (UD) binary predicate can also be used
sort( v1.begin( ), v1.end( ), UDgreater );
cout << "Resorted (UDgreater) vector v1 = ( " ;
for ( Iter1 = v1.begin( ) ; Iter1 != v1.end( ) ; Iter1++ )
cout << *Iter1 << " ";
cout << ")" << endl;
}