OpenGL de プログラミング - TBB::parallel_sort
現在地 >> メニュー >> TBB >> TBB::parallel_sort

問題


データ列を適当に初期化して、それをparallel_sortで降順にソートせよ
関連 >> TBB::基本編07::parallel_sort

答え

#include <iostream>
#include <algorithm>
#include <vector>
#include <ctime>
#include <cstdlib>

#include <tbb/task_scheduler_init.h>
#include <tbb/parallel_sort.h>
#include <tbb/tick_count.h>


/**************** ここからメイン関数 ********************/
const int NUM = 1000; //要素数

int main()
{

	srand( static_cast<unsigned int>( time(NULL) ) );
	
	std::vector<int> v(NUM);
	std::generate(v.begin(),v.end(),rand); //値の設定
	
	tbb::task_scheduler_init TbbInit;
	tbb::parallel_sort(v.begin(),v.end(),std::greater<int>());  //並列ソート
	TbbInit.terminate();

	std::copy(v.begin(),v.end(),std::ostream_iterator<int>(std::cout,"\n")); //出力

	return EXIT_SUCCESS;
}