数组归并排序

去年的一道面试题,想起来了,顺遍把代码贴到这里
两个数组合并到一起,然后排序;用set确实比较方面了

#include < iostream >
#include
< set >   
#include
< iterator >
#include
< algorithm >   
using   namespace  std;

int  _tmain( int  argc, _TCHAR *  argv[])
{

    
int  a[ 5 ] = { 2 , 5 , 1 , 2 , 3     };
    
int  b[ 10 ] = { 8 , 9 , 5 , 9 , 7 , 1 , 3 , 4 , 4 , 6 };

    
set < int > ist(a,a + sizeof (a) / sizeof (a[ 0 ])); 
    
set < int > ::iterator  itor; 
    
set < int > it(b,b + sizeof (b) / sizeof (b[ 0 ]));
    
set < int > ::iterator p;
    
for ( itor  =  ist.begin();itor  != ist.end(); ++ itor)   
    { 
        cout
<<* itor << endl;
    }
    
for (p = it.begin();p != it.end(); ++ p)
    { 
        cout
<<* p << endl;

    }
    cout
<< " 合并后: " << endl;  

    
set < int > su;
    
set < int > ::iterator q;
    set_union(ist.begin(),ist.end(),it.begin(),it.end(),inserter(su,su.begin()));

    
for (q = su.begin();q != su.end(); ++ q)
    {
        cout
<<* q << endl;
    }
    
return   0 ;
}

}

你可能感兴趣的:(数组归并排序)