C#通過yield實現(xiàn)數(shù)組全排列的方法
更新時間:2015年03月24日 10:23:01 作者:八大山人
這篇文章主要介紹了C#通過yield實現(xiàn)數(shù)組全排列的方法,以實例形式較為詳細的分析了全排列的概念及C#的實現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
本文實例講述了C#通過yield實現(xiàn)數(shù)組全排列的方法。分享給大家供大家參考。具體分析如下:
從n個不同元素中任取m(m≤n)個元素,按照一定的順序排列起來,叫做從n個不同元素中取出m個元素的一個排列。當m=n時所有的排列情況叫全排列。
static void Swap<T>(ref T a, ref T b) { T t = a; a = b; b = t; } static IEnumerable<int[]> Perm(int[] arr, int pos) { if (pos == arr.Length) { yield return arr; } for (int i = pos; i < arr.Length; ++i) { Swap(ref arr[i], ref arr[pos]); foreach (var j in Perm(arr, pos + 1)) yield return j; Swap(ref arr[i], ref arr[pos]); } } static void Main(string[] args) { foreach (var i in Perm(new int[] { 1, 2, 3, 4 }, 0)) { Console.WriteLine(string.Join(",",i.Select(j=>j.ToString()).ToArray())); } }
希望本文所述對大家的C#程序設計有所幫助。
相關文章
C#事務處理(Execute Transaction)實例解析
這篇文章主要介紹了C#事務處理(Execute Transaction)實例解析,對于理解和學習事務處理有一定的幫助,需要的朋友可以參考下2014-08-08利用C#實現(xiàn)將小數(shù)值四舍五入為整數(shù)
在項目的開發(fā)中,遇到一些除法計算內(nèi)容會產(chǎn)生小數(shù)值,但是又需要根據(jù)項目的實際情況將這些小數(shù)內(nèi)容化為整數(shù),所以本文為大家整理了C#實現(xiàn)將小數(shù)值四舍五入為整數(shù)的方法,希望對大家有所幫助2023-07-07DataGridView清除顯示的數(shù)據(jù)、設定右鍵菜單
這篇文章介紹了DataGridView清除顯示的數(shù)據(jù)、設定右鍵菜單的方法,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-02-02使用C#實現(xiàn)網(wǎng)頁內(nèi)容保存為圖片并生成壓縮包
這篇文章主要為大家詳細介紹了如何使用C#實現(xiàn)網(wǎng)頁內(nèi)容保存為圖片并生成壓縮包,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下2024-02-02