std::sort使用方法

bool myfunction (int i,int j) { return (i < j); }
//注意:这个函数两个参数交换位置时不能得到相同的true的结果。需要包含algrithm.h头文件
//例如如果将最后一个元素改为53,将myfunction改为i <= j,则程序会报错,因为53相互比较会产生相同的bool值
//myfunction如果是i<j则为升序排列;若为i>j则为降序排列
int main () {
	int myints[] = {32,71,12,45,26,80,53,12};
	vector<int> myvector (myints, myints+8);               // 32 71 12 45 26 80 53 33
	vector<int>::iterator it;

	// using default comparison (operator <):
	//sort (myvector.begin(), myvector.begin()+4);           //(12 32 45 71)26 80 53 33

	// using function as comp
	sort (myvector.begin()+4, myvector.end(), myfunction); // 12 32 45 71(26 33 53 80)

	// print out content:
	cout << "myvector contains:";
	for (it=myvector.begin(); it!=myvector.end(); ++it)
		cout << " " << *it;

	cout << endl;

	return 0;
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值