全排列



#include "stdafx.h"
#include <stdlib.h>
#include <iostream>
using namespace std;


#define  elemType  int

//交換arr數組中位置a和b處的兩個元素
void arrySwap(elemType arr[], elemType a, elemType b)
{
	elemType temp;
	temp = arr[a];
	arr[a] = arr[b];
	arr[b] = temp;
}

int cnt = 0;

//全排列
void perm(elemType arr[], int start, int end)
{
	if(start == end)
	{
		cnt++;
		cout<<"第"<<cnt<<"種排列:";

		for(int i = 0; i <= end; i++)
			cout<<arr[i]<<" ";

		cout<<endl;
	}
	else
	{
		for(int i = start; i <= end; i++)
		{
			arrySwap(arr, start, i);
			perm(arr, start + 1, end);
			arrySwap(arr, start, i);
		}
	}
}


void main()
{
	int arr[5] = {1, 2, 3, 4, 5};

	perm(arr, 0, 4);
	
	system("pause");
}


今天做了個測試,發現手生的厲害  %>_<%

要找不到工作的節奏麼。

好運,來!

GOGO

發佈了145 篇原創文章 · 獲贊 47 · 訪問量 118萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章