麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

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

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

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

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

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

  代碼如下:

 C++ 代碼  
//程序作者:管寧 
//所有稿件均有版權(quán),如要轉(zhuǎn)載,請務(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ù)組解決來看,程序簡短但效率不高可讀性也不好,此代碼沒有什么非凡之處主要依靠一個加1取模的方式往返到首位置,形成環(huán)鏈:p=(p+1)%num;。 更多文章 更多內(nèi)容請看C/C++技術(shù)專題  C/C++進(jìn)階技術(shù)文檔  C/C++相關(guān)文章專題,或

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 狠狠操夜夜爱 | asiass极品裸体女pics | 欧美精品毛片 | 亚洲性爰| 青青草最新网址 | 日韩视频一区 | xxxx欧美视频 | 色97在线 | 99re久久最新地址获取 | 国产日本在线播放 | 青青草在线免费观看 | 国产一区网址 | videos真实高潮xxxx | 亚洲福利在线视频 | 成人午夜视频免费 | 成人爽a毛片免费啪啪红桃视频 | 一区二区免费看 | 成人毛片视频免费看 | 国产一及毛片 | 日本成人在线播放 | 日韩精品久久久久久 | 国产高潮国产高潮久久久91 | 国产精品久久久久久久久久了 | h色在线观看 | 亚洲精品一二三区 | 免费在线观看国产精品 | 黄色二区三区 | 黄色片网站免费观看 | 一区二区三区在线观看免费 | 日本在线不卡免费 | 精品中文一区 | 久久精品国产精品亚洲 | 九草在线视频 | 在线无码 | 91精品国产一区二区在线观看 | 国产91中文字幕 | 中文字幕极速在线观看 | 伊人午夜 | 久久久精彩 | 羞羞答答影院 | 成人免费在线网 |