詳述完全配列再帰(C ++)

A:完全な配列詳しい再帰C ++

あなたが良い!私はちょうど白!のコミュニティに入ったされている
説明がないと、あなたはまた、高猿の翼が欲しいです!

2:導入

まず、私はあなたがスキップすることができ、この記事とは何の関係も導入しない、首長はを見てゲーム開発コミュニティを願っています:

  1. 私は2020人の卒業生はゲームクライアント開発ポジション(ユニティまたはH5)を探しているのための仕事を見つけるための圧力に直面しています。(プライマリまたはインターン)
  2. 私は自社の強みのために支払うことを喜んで、同社の希望が受け入れられていると、中程度と考えられ、技術レベルのためにこの仕事で午前、ここで一緒に進行します。
  3. 関連のポストのために、私のQQのメールボックスに送信メールをクリックしてください([email protected]

3:コード

#include "pch.h"
#include<iostream>
using namespace std;
int a = 0;
//交换
void swap(int &a, int &b)
{
	int temp;
	temp = a;
	a = b;
	b = temp;
}
//全排列递归算法
void Perm(int list[], int k, int m)
{
	//list 数组存放排列的数,K表示层 代表第几个数,m表示数组的长度
	if (k == m)
	{
		//K==m 表示到达最后一个数,不能再交换,最终的排列的数需要输出;
		for (int i = 0; i <= m; i++)
			cout << list[i];
		cout << endl;
	}
	else {
		for (int i = k; i <= m; i++)
		{
			swap(list[i], list[k]);
			Perm(list, k + 1, m);
			swap(list[i], list[k]);
		}
	}
}
int main(void)
{
	int a[] = { 1,2,3,4 };
	int m = 2;
	Perm(a, 0, m);
	/*123,132,213,231,321,312*/
}

IV:コードは、説明を詳細に説明しました

ここに画像を挿入説明

5:要約

私は再帰的に使用することは結果が突然実現し、図を描画することにより、半理解されている、
初心者や、よりグラフィカルに、多用途ペンを推奨し、紙が分析され、
一生懸命勉強し、私たちは一緒に進行させる願っています。

出版元の記事 ウォンの賞賛2 ビュー46

おすすめ

転載: blog.csdn.net/Dream_TP/article/details/105374441