欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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#使用NPOI導出Excel類封裝

    C#使用NPOI導出Excel類封裝

    這篇文章主要為大家詳細介紹了C#使用NPOI導出Excel類封裝,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • C#復雜XML反序列化為實體對象兩種方式小結(jié)

    C#復雜XML反序列化為實體對象兩種方式小結(jié)

    本文主要介紹了C#復雜XML反序列化為實體對象兩種方式,主要介紹如何把通過接口獲取到的Xml數(shù)據(jù)轉(zhuǎn)換成(反序列化)我們想要的實體對象,感興趣的可以一起來了解一下
    2022-04-04
  • 使用C#創(chuàng)建Windows服務的實例代碼

    使用C#創(chuàng)建Windows服務的實例代碼

    這篇文章主要介紹了使用C#創(chuàng)建Windows服務的實例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • C#事務處理(Execute Transaction)實例解析

    C#事務處理(Execute Transaction)實例解析

    這篇文章主要介紹了C#事務處理(Execute Transaction)實例解析,對于理解和學習事務處理有一定的幫助,需要的朋友可以參考下
    2014-08-08
  • 利用C#實現(xiàn)將小數(shù)值四舍五入為整數(shù)

    利用C#實現(xiàn)將小數(shù)值四舍五入為整數(shù)

    在項目的開發(fā)中,遇到一些除法計算內(nèi)容會產(chǎn)生小數(shù)值,但是又需要根據(jù)項目的實際情況將這些小數(shù)內(nèi)容化為整數(shù),所以本文為大家整理了C#實現(xiàn)將小數(shù)值四舍五入為整數(shù)的方法,希望對大家有所幫助
    2023-07-07
  • C#實現(xiàn)同步模式下的端口映射程序

    C#實現(xiàn)同步模式下的端口映射程序

    這篇文章介紹了C#實現(xiàn)同步模式下的端口映射程序,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • DataGridView清除顯示的數(shù)據(jù)、設定右鍵菜單

    DataGridView清除顯示的數(shù)據(jù)、設定右鍵菜單

    這篇文章介紹了DataGridView清除顯示的數(shù)據(jù)、設定右鍵菜單的方法,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-02-02
  • C#中l(wèi)ock用法詳解

    C#中l(wèi)ock用法詳解

    這篇文章主要介紹了C#中l(wèi)ock用法,以實例形式詳細分析了lock語句的用法及用途,需要的朋友可以參考下
    2014-11-11
  • 使用C#實現(xiàn)網(wǎng)頁內(nèi)容保存為圖片并生成壓縮包

    使用C#實現(xiàn)網(wǎng)頁內(nèi)容保存為圖片并生成壓縮包

    這篇文章主要為大家詳細介紹了如何使用C#實現(xiàn)網(wǎng)頁內(nèi)容保存為圖片并生成壓縮包,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2024-02-02
  • C#程序加密工具.Net?Reactor詳細教程

    C#程序加密工具.Net?Reactor詳細教程

    .Net?Reacto加密工具是一款強大的?.NET?代碼保護和授權管理系統(tǒng),安全可靠、簡單易用,主要用來幫助開發(fā)人員保護他們的?.NET?軟件產(chǎn)品,本文給大家詳細介紹C#程序加密工具.Net?Reactor教程,感興趣的朋友一起看看吧
    2022-02-02

最新評論