存档

文章标签 ‘sort’

SGI STL is_sorted扩展

2010年10月3日 没有评论

is_sorted用于判断一个区间是否已经有序,和排序一样,可以自己定义比较函数。
但是,正如文章题目所说的一样,is_sorted是SGI STL的扩展,在现在的GCC下并没有(VS下也没有),所以,为了保证代码的可移植性,最好不要使用这个函数。
GCC提示错误 error: 'is_sorted' was not declared in this scope,VC提示错误error C2065: 'is_sorted' : undeclared identif[......]

继续阅读

分类: STL编程 标签: , , , ,

STL stable_sort 稳定排序

2010年10月3日 没有评论

所谓稳定排序,是指对一个序列进行排序之后,如果两个元素的值相等,则原来乱序时在前面的元素现在(排好序之后)仍然排在前面。STL中提供stable_sort()函数来让我们进行稳定排序。为了更好的说明稳定排序的效果,我们定义了一个结构体元素,一个value成员和一个index成员,前者表示元素的值,后者表示乱序时的索引。
stable_sort()内部由归并排序来实现。
//Coded by 代码疯子
//http://www.programlife.net/
#include <ios[......]

继续阅读

分类: STL编程 标签: , , , , ,

STL sort排序

2010年9月10日 没有评论

默认从小到大排序,使用的仿函数是less<int>,我们可以在sort中指定第三个参数是的其从大到小排序,仿函数为greater<int>。示例代码如下:
#include <iostream>
#include <algorithm>
#include <vector>
#include <iterator>
using namespace std;

int main()
{
vector<int[......]

继续阅读

分类: STL编程 标签: , ,