bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

利用Java如何實現全排列算法和遞歸-創新互聯

創新互聯www.cdcxhl.cn八線動態BGP香港云服務器提供商,新人活動買多久送多久,劃算不套路!

為紅崗等地區用戶提供了全套網頁設計制作服務,及紅崗網站建設行業解決方案。主營業務為做網站、成都網站設計、紅崗網站設計,以傳統方式定制建設網站,并提供域名空間備案等一條龍服務,秉承以專業、用心的態度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!

利用Java如何實現全排列算法和遞歸?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

全排列:

從n個不同元素中任取m(m≤n)個元素,按照一定的順序排列起來,叫做從n個不同元素中取出m個元素的一個排列。當m=n時所有的排列情況叫全排列。
例如:

1 、2 、3三個元素的全排列為:

{1,2,3},{1,3,2},{2,1,3},{2,3,1},{3,1,2},{3,2,1}。

------------------------------------------------------

解法1(遞歸)

如下圖:要對1、2、3、4進行排序,第一個位置上的元素有四種可能:1或2或3或4,假如已經確定了第一個元素為4,剩下的第二個位置上可以是1、2、3,很顯然這具有遞歸結構,如果原始要排列的數組順序為1、2、3、4,現在只要分別交換1、2,1、3,1、4然后對剩下的3個元素進行遞歸的排列。

利用Java如何實現全排列算法和遞歸

代碼:

-----------------------------------------------

public void Permutation(char chs[],int start )
  {
    if(start==chs.length-1)
    {
      Arrays.toString(chs);
      //如果已經到了數組的最后一個元素,前面的元素已經排好,輸出。
    }
    for(int i=start;i<=chs.length-1;i++)
    {
    //把第一個元素分別與后面的元素進行交換,遞歸的調用其子數組進行排序
        Swap(chs,i,start);
        Permutation(chs,start+1);
        Swap(chs,i,start);
    //子數組排序返回后要將第一個元素交換回來。 
    //如果不交換回來會出錯,比如說第一次1、2交換,第一個位置為2,子數組排序返回后如果不將1、2
    //交換回來第二次交換的時候就會將2、3交換,因此必須將1、2交換使1還是在第一個位置 
    }
  }
  public void Swap(char chs[],int i,int j)
  {
    char temp;
    temp=chs[i];
    chs[i]=chs[j];
    chs[j]=temp;
  }

網站名稱:利用Java如何實現全排列算法和遞歸-創新互聯
文章URL:http://vcdvsql.cn/article46/pjehg.html

成都網站建設公司_創新互聯,為您提供網站策劃小程序開發動態網站網站收錄面包屑導航品牌網站建設

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

微信小程序開發