使用list的sort和unique成员函数,能够轻松搞定它!请看下面的演示代码,注意,unique仅仅是删除相邻单元重复的数据单元,而不是全部。你可以注释掉sort语句来看他们不同的结果。
#include <iostream>
#include <algorithm>
#include <functional>
#include <list>
using namespace std;
template <typename T>
struct SVisit: public unary_function<T, void>
{
void operator()( const T& t ) const
{
cout << t << endl;
}
};
int main( void )
{
list<int> il;
for ( int i = 0; i < 10; ++ i )
{
il.push_back( i % 3 );
}
il.sort();
il.unique();
for_each( il.begin(), il.end(), SVisit<int>() );
return 0;
}
#include <iostream>
#include <algorithm>
#include <functional>
#include <list>
using namespace std;
template <typename T>
struct SVisit: public unary_function<T, void>
{
void operator()( const T& t ) const
{
cout << t << endl;
}
};
int main( void )
{
list<int> il;
for ( int i = 0; i < 10; ++ i )
{
il.push_back( i % 3 );
}
il.sort();
il.unique();
for_each( il.begin(), il.end(), SVisit<int>() );
return 0;
}
本文介绍如何使用C++标准库中的list容器配合sort和unique成员函数进行数据排序及去除相邻重复元素的方法,并附带示例代码。
847

被折叠的 条评论
为什么被折叠?



