国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

理解C++程序設(shè)計(jì)中的抽象理論

2019-11-17 05:06:13
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
josephus問(wèn)題是c++中的一個(gè)經(jīng)典題目,在正式開(kāi)始學(xué)習(xí)之前我們先回顧一下如何利用數(shù)組和結(jié)構(gòu)體來(lái)解決josephus問(wèn)題,最后我們?cè)倏匆幌氯绾卫妹嫦驅(qū)ο蟮某橄罄砟钸M(jìn)行解決此問(wèn)題的程序設(shè)計(jì),相互對(duì)比,找出效率最高,最輕易理解,最方便維護(hù)的程序來(lái),說(shuō)明利用面向?qū)ο蟮某橄罄砟钸M(jìn)行程序設(shè)計(jì)的好處。

  josephus問(wèn)題其實(shí)就是一個(gè)游戲,一群小孩圍成一個(gè)圈,設(shè)置一個(gè)數(shù),這個(gè)數(shù)是個(gè)小于小孩總數(shù)大于0的一個(gè)整數(shù),從第一個(gè)小孩開(kāi)始報(bào)數(shù),當(dāng)其中一個(gè)小孩報(bào)到你設(shè)置的那個(gè)數(shù)的時(shí)候離開(kāi)那個(gè)圈,這樣一來(lái)反復(fù)報(bào)下去,直到只剩下最后一個(gè)小孩的時(shí)候那個(gè)小孩就是勝利者,寫(xiě)程序來(lái)找出這個(gè)小孩。

  以下是數(shù)組方法:

  由于數(shù)組的限制我們必須預(yù)先假設(shè)好有多少個(gè)小孩,離開(kāi)的小孩他自身設(shè)置為0來(lái)標(biāo)記離開(kāi)狀態(tài)。

  代碼如下:

 C++ 代碼  
//程序作者:管寧 
//所有稿件均有版權(quán),如要轉(zhuǎn)載,請(qǐng)務(wù)必聞名出處和作者 
 
#include <iostream> 
using namespace std; 
void main() 

  const int num=10; 
  int interval; 
  int a[num]; 
  for(int i=0; i<num; i++) 
  { 
    a[i]=i+1; 
  }  
    cout <<"please input the interval: "; 
  cin >>interval; 
  for(int i=0; i<num; i++) 
  { 
    cout <<a[i] <<","; 
  } 
    cout <<endl; 
 
int k=1; 
int p=-1; 
 
while(1) 

    for(int j=0;j<interval;) 
    { 
        p=(p+1)%num; 
        if(a[p]!=0) 
        { 
            j++; 
        } 
    } 
    if(k==num) 
    { 
        break; 
    } 
    cout<<a[p]<<","; 
    a[p]=0; 
    k++; 

cout <<"/nNo." <<a[p] <<" boy've won./n"; 
cin.get(); 
cin.get(); 
}
  就數(shù)組解決來(lái)看,程序簡(jiǎn)短但效率不高可讀性也不好,此代碼沒(méi)有什么非凡之處主要依靠一個(gè)加1取模的方式往返到首位置,形成環(huán)鏈:p=(p+1)%num;。 更多文章 更多內(nèi)容請(qǐng)看C/C++技術(shù)專題  C/C++進(jìn)階技術(shù)文檔  C/C++相關(guān)文章專題,或

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 云和县| 连平县| 陆河县| 龙山县| 长泰县| 锡林郭勒盟| 晋城| 靖州| 贵南县| 哈尔滨市| 新兴县| 吉安县| 宜宾市| 桂林市| 武强县| 南城县| 宜君县| 彰武县| 连城县| 武鸣县| 蓬安县| 富平县| 深圳市| 平度市| 邵武市| 长阳| 镇宁| 汽车| 云梦县| 永春县| 宁安市| 长宁区| 大冶市| 东乡县| 南开区| 申扎县| 宁德市| 高邮市| 青田县| 陕西省| 黄山市|