main.cpp

来自「《C++ STL开发技术引导》配套光盘 聆听大师级的指点」· C++ 代码 · 共 30 行

CPP
30
字号
#include <algorithm>
#include <iostream>
using namespace std;

void print(int x){
	cout << x << ' ';
}

template <class BidirectionalIter>
void nextPermu_sort(BidirectionalIter first, BidirectionalIter last){
	while(next_permutation(first, last)) {}  //利用较大的组合返回true
}

int main(void){
	int iArray[]={3, 6, 2, 9, 8};
	const int len=sizeof(iArray)/sizeof(int);
	cout << "原组合" << endl;
	for_each(iArray, iArray+len, print);
	cout << endl;
	cout << "新组合" << endl;
	next_permutation(iArray, iArray+len);
	for_each(iArray, iArray+len, print);
	cout << endl;
	//
	cout << "利用较慢的next_permutation算法排序\n";
	nextPermu_sort(iArray, iArray+len);
	for_each(iArray, iArray+len, print);
	cout << endl;
	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?