首页 > STL编程 > SGI STL is_sorted扩展

SGI STL is_sorted扩展

is_sorted用于判断一个区间是否已经有序,和排序一样,可以自己定义比较函数。

但是,正如文章题目所说的一样,is_sorted是SGI STL的扩展,在现在的GCC下并没有(VS下也没有),所以,为了保证代码的可移植性,最好不要使用这个函数。

GCC提示错误 error: 'is_sorted' was not declared in this scope,VC提示错误error C2065: 'is_sorted' : undeclared identifier。

也简单写了一份代码:

//Coded by 代码疯子
//http://www.programlife.net/
#include <iostream>
#include <algorithm>
#include <vector>
#include <iterator>
using namespace std;

int main()
{
	vector<int> coll;
	copy(istream_iterator<int>(cin), istream_iterator<int>(), back_inserter(coll));
	
	if(is_sorted(coll.begin(), coll.end()))
	{
		cout << "Already Sorted!" << endl;
	}
	else
	{
		cout << "Not Sorted!" << endl;
		sort(coll.begin(), coll.end());
		cout << "After Sorted:" << endl;
		copy(coll.begin(), coll.end(), ostream_iterator<int>(cout, " "));
		cout << endl;
	}

	return 0;
}

 


觉得文章还不错?点击此处对作者进行打赏!


本文地址: 程序人生 >> SGI STL is_sorted扩展
作者:代码疯子(Wins0n) 本站内容如无声明均属原创,转载请保留作者信息与原文链接,谢谢!


更多



分类: STL编程 标签: , , , ,
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.