最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺談c語言中一種典型的排列組合算法

 更新時間:2017年05月14日 08:54:26   投稿:jingxian  
下面小編就為大家?guī)硪黄獪\談c語言中一種典型的排列組合算法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

c語言中的全排列算法和組合數(shù)算法在實際問題中應(yīng)用非常之廣,但算法有許許多多,而我個人認(rèn)為方法不必記太多,最好只記熟一種即可,一招鮮亦可吃遍天

全排列:

#include<stdio.h>

void swap(int *p1,int *p2)

{

int t=*p1;

*p1=*p2;

*p2=t;

}

void permutation(int a[],int index,int size)

{

if(index==size)

{

for(int i=0;i<size;i++)

printf("%d ",a[i]);

printf("\n");

}

else

{

for(int j=index;j<size;j++)

{

swap(&a[j],&a[index]);

permutation(a,index+1,size);//此處用到遞歸思想

swap(&a[j],&a[index]);

}

}

}

int main()

{

int n;

scanf("%d",&n);

int a[n];

for(int i=0;i<n;i++)

a[i]=i+1;

permutation(a,0,n);

return 0;

}

 

組合:

#include<stdio.h>

void combine(int n,int m,int a[],int b[],const int M)

{

for(int j=n;j>=m;j--)

{

b[m-1]=j-1;

if(m>1)combine(j-1,m-1,a,b,M);//用到了遞歸思想

else

{

for(int i=M-1;i>=0;i--)printf("%d ",a[b[i]]);

printf("\n");

}

}

}

int main()

{

int n,m;

scanf("%d%d",&n,&m);

int a[n];int b[m];

for(int i=0;i<n;i++)

a[i]=i+1;

const int M=m;

combine(n,m,a,b,M);

}

以上這篇淺談c語言中一種典型的排列組合算法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • C語言數(shù)組a和&a的區(qū)別講解

    C語言數(shù)組a和&a的區(qū)別講解

    今天小編就為大家分享一篇關(guān)于C語言數(shù)組a和&a的區(qū)別講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • 詳解vs2022創(chuàng)建及調(diào)用.lib的方法

    詳解vs2022創(chuàng)建及調(diào)用.lib的方法

    這篇文章主要介紹了vs2022創(chuàng)建及調(diào)用.lib的方法,調(diào)用Lib的原則就是可以讓編譯器找到頭文件和庫文件的目錄,并正確引入,本文給大家詳細(xì)講解需要的朋友可以參考下
    2022-11-11
  • C++中const用于函數(shù)重載的示例代碼

    C++中const用于函數(shù)重載的示例代碼

    這篇文章主要介紹了C++中const用于函數(shù)重載的相關(guān)資料,需要的朋友可以參考下
    2017-09-09
  • C/C++字符串與數(shù)字互轉(zhuǎn)的實現(xiàn)

    C/C++字符串與數(shù)字互轉(zhuǎn)的實現(xiàn)

    這篇文章主要介紹了C/C++字符串與數(shù)字互轉(zhuǎn)的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • C語言實現(xiàn)煙花表白程序代碼

    C語言實現(xiàn)煙花表白程序代碼

    大家好,本篇文章主要講的是C語言實現(xiàn)煙花表白程序代碼,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-02-02
  • 一文帶你了解C++中的右值引用與移動語義

    一文帶你了解C++中的右值引用與移動語義

    本篇文章主要為大家詳細(xì)介紹了C++中的右值引用與移動語義的相關(guān)知識,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2023-03-03
  • C語言每日練習(xí)之動態(tài)顯示系統(tǒng)時間

    C語言每日練習(xí)之動態(tài)顯示系統(tǒng)時間

    這篇文章主要介紹了C語言動態(tài)顯示系統(tǒng)時,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-11-11
  • C++中求旋轉(zhuǎn)數(shù)組中的最小數(shù)字(經(jīng)典面試題)

    C++中求旋轉(zhuǎn)數(shù)組中的最小數(shù)字(經(jīng)典面試題)

    這篇文章主要介紹了C++中求旋轉(zhuǎn)數(shù)組中的最小數(shù)字(經(jīng)典面試題)的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • C語言堆與二叉樹的順序結(jié)構(gòu)與實現(xiàn)

    C語言堆與二叉樹的順序結(jié)構(gòu)與實現(xiàn)

    堆是計算機科學(xué)中一類特殊的數(shù)據(jù)結(jié)構(gòu)的統(tǒng)稱,通常是一個可以被看做一棵完全二叉樹的數(shù)組對象。而堆排序是利用堆這種數(shù)據(jù)結(jié)構(gòu)所設(shè)計的一種排序算法。本文將詳細(xì)介紹堆與二叉樹的順序結(jié)構(gòu)與實現(xiàn),需要的可以參考一下
    2022-05-05
  • C++實現(xiàn)簡單的HTTP服務(wù)器

    C++實現(xiàn)簡單的HTTP服務(wù)器

    這篇文章主要為大家詳細(xì)介紹了C++實現(xiàn)簡單的HTTP服務(wù)器的相關(guān)資料,感興趣的朋友可以參考下
    2016-05-05

最新評論

樟树市| 台安县| 赤峰市| 乌鲁木齐市| 读书| 洞头县| 吴忠市| 北票市| 乡宁县| 若尔盖县| 伊宁县| 安泽县| 西乌珠穆沁旗| 安国市| 大同市| 固镇县| 蚌埠市| 云梦县| 新竹市| 盐山县| 油尖旺区| 南华县| 胶州市| 唐海县| 新竹市| 陇川县| 仙居县| 宜黄县| 阿勒泰市| 万州区| 泰和县| 高碑店市| 邛崃市| 饶阳县| 社旗县| 罗平县| 邓州市| 雷山县| 江阴市| 新安县| 福海县|