1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| #include <vector>
#include <iostream>
#include <algorithm>
using namespace std;
bool uc_cpr( unsigned char * s1, unsigned char * s2 ) {
return (*s1)<(*s2);
}
int main()
{
vector< unsigned char * > v;
unsigned char ptr[10][10][10];
for( int i = 0; i < 10; ++i )
for( int j = 0; j < 10; ++j )
for( int k = 0; k < 10; ++k )
ptr[i][j][k] = i+(i*j+k)+(i+j*k);
for( int i = 0; i < 10; ++i )
for( int j = 0; j < 10; ++j )
for( int k = 0; k < 10; ++k )
v.push_back( &ptr[i][j][k] );
cout << "pre order:" << endl;
for( unsigned int i = 0; i < v.size(); ++i )
cout << '0' + *v[i] << endl;
sort( v.begin(), v.end(), uc_cpr );
cout << "post order:" << endl;
for( unsigned int i = 0; i < v.size(); ++i )
cout << '0' + *v[i] << endl;
} |
Partager