小算法--從一個數組中選擇固定個數的元素的所有可能

#include <iostream>
using namespace std;
#define Select_Num 10

void Select(int* arr, int start, int* result, int count, const int Num, const int arr_len)
{
	int i = 0;
	for(i = start;i<arr_len+1-count;i++)
	{
		result[count-1] = i;
		if(count-1 == 0)
		{
			int j;
			for(j = Num - 1;j >=0;j--)
			{
				cout<<arr[result[j]]<<' ';
			}
			cout<<endl;
		}
		else
		{
			Select(arr, i+1, result, count-1, Num, arr_len);
		}
	}
}

void main()
{
	int arr[13] = {1,2,3,4,5,6,7,8,9,10,11,12,13};
	int result[Select_Num];
	Select(arr,0,result,Select_Num,Select_Num,sizeof(arr)/sizeof(int));
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章