究极风暴4好缓慢:std::sort的用法
来源:百度文库 编辑:偶看新闻 时间:2024/05/05 20:13:21
view plain
·········10········20········30········40········50········60········70········80········90········100·······110·······120·······130·······140·······150
//
//alg_std::sort.cpp
//
#include
#include
#include // For greater( )
#include
using namespace std;
// Return whether first element is greater than the second
bool UDgreater ( int elem1, int elem2 )
{
return elem1 > elem2;
}
class Csort
{
public:
// Return whether first element is less than the second
bool operator () (int a,int b) const
{
return a};
};
int main( )
{
vector v1;
vector::iterator Iter1;
int arr[12];
int i;
for ( i = 0 ; i <= 5 ; i++ )
{
v1.push_back( 2 * i );
arr[i]=2*i;
}
for ( i = 6 ; i <= 11 ; i++ )
{
arr[i]=23-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;
cout << "Original array arr = ( " ;
for ( int n=0;n<12;n++ )
cout << arr[n] << " ";
cout << ")" << endl;
//std::sort 默认排序方式
sort( v1.begin( ), v1.end( ) );
cout << "Sorted vector v1 = ( " ;
for ( Iter1 = v1.begin( ) ; Iter1 != v1.end( ) ; Iter1++ )
cout << *Iter1 << " ";
cout << ")" << endl;
//使用自定义函数给数组排序,第三个参数为函数指针UDgreater
//第二个参数为数据最大地址的后一位指针&arr[12];
sort( &arr[0], &arr[12],UDgreater);
cout << "Resorted (UDgreater) array arr = ( " ;
for ( int n=0;n<12;n++ ) cout << arr[n] << " ";
cout << ")" << endl;
//使用自定义类的 重载operator() 函数给数组排序,第三个参数为【类名()】
sort( &arr[0], &arr[12],Csort());
cout << "Resorted (Csort()) arr = ( " ;
for ( int n=0;n<12;n++ ) cout << arr[n] << " ";
cout << ")" << endl;
//使用库中 greater( ) 给向量V1排序;
sort( v1.begin( ), v1.end( ), greater( ) );
//sort( v1.begin( ), v1.end( ), Csort() );
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 );
sort( v1.begin( ), v1.end( ),Csort());
cout << "Resorted (UDgreater) vector v1 = ( " ;
for ( Iter1 = v1.begin( ) ; Iter1 != v1.end( ) ; Iter1++ )
cout << *Iter1 << " ";
cout << ")" << endl;
getchar();
return 0;
}
·········10········20········30········40········50········60········70········80········90········100·······110·······120·······130·······140·······150
//
//alg_std::sort.cpp
//
#include
#include
#include
#include
using namespace std;
// Return whether first element is greater than the second
bool UDgreater ( int elem1, int elem2 )
{
return elem1 > elem2;
}
class Csort
{
public:
// Return whether first element is less than the second
bool operator () (int a,int b) const
{
return a};
};
int main( )
{
vector
vector
int arr[12];
int i;
for ( i = 0 ; i <= 5 ; i++ )
{
v1.push_back( 2 * i );
arr[i]=2*i;
}
for ( i = 6 ; i <= 11 ; i++ )
{
arr[i]=23-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;
cout << "Original array arr = ( " ;
for ( int n=0;n<12;n++ )
cout << arr[n] << " ";
cout << ")" << endl;
//std::sort 默认排序方式
sort( v1.begin( ), v1.end( ) );
cout << "Sorted vector v1 = ( " ;
for ( Iter1 = v1.begin( ) ; Iter1 != v1.end( ) ; Iter1++ )
cout << *Iter1 << " ";
cout << ")" << endl;
//使用自定义函数给数组排序,第三个参数为函数指针UDgreater
//第二个参数为数据最大地址的后一位指针&arr[12];
sort( &arr[0], &arr[12],UDgreater);
cout << "Resorted (UDgreater) array arr = ( " ;
for ( int n=0;n<12;n++ ) cout << arr[n] << " ";
cout << ")" << endl;
//使用自定义类的 重载operator() 函数给数组排序,第三个参数为【类名()】
sort( &arr[0], &arr[12],Csort());
cout << "Resorted (Csort()) arr = ( " ;
for ( int n=0;n<12;n++ ) cout << arr[n] << " ";
cout << ")" << endl;
//使用
sort( v1.begin( ), v1.end( ), greater
//sort( v1.begin( ), v1.end( ), Csort() );
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 );
sort( v1.begin( ), v1.end( ),Csort());
cout << "Resorted (UDgreater) vector v1 = ( " ;
for ( Iter1 = v1.begin( ) ; Iter1 != v1.end( ) ; Iter1++ )
cout << *Iter1 << " ";
cout << ")" << endl;
getchar();
return 0;
}
请帮我用sort of thing 造个句子 我想知道他的用法
1,sort by Tybe2,sort by Name3,sort by Date4,sort File Tybe的中文意思
std::map的问题
using namespace std;的作用
using namespace std; 的作用?
sort单词组成的句子的翻译
在Flash中Sort()的作用是什么?
sort和kind之间的区别是什么?
关于MIL-STD-105E的来历
请教名为std software的是什么插件?
std格式的文件好何打开
std::<<的实际意义大么?
std::<<的实际意义大么?
怎样用fortran写一个bubble sort的程序
sort code
perl 里面的Getopt::std是做什么用的
std::bitset<size>::to_string()的疑问
ROSEWOOD Std 有这样的字体吗?急
那里有Advanced Office XP Password Recovery Std 的下载
求获取std::map中键值的方法
[求助]关于标准MIL-STD-105D有谁知道"标准MIL-STD-105D"的具体内容,有急用!!
编写一个函数SORT将放到一位数组中的若干个数安从小到大的顺序排序
谁知道matlab裏面的sort函数什么意思,可以详解下吗?
Bank code和Sort code意思是不是一样的?若不是请问它们各是什么意思?