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

C++循環(huán)鏈表之約瑟夫環(huán)的實(shí)現(xiàn)方法

 更新時(shí)間:2014年09月02日 16:00:27   投稿:shichen2014  
這篇文章主要介紹了C++循環(huán)鏈表之約瑟夫環(huán)的實(shí)現(xiàn)方法,對(duì)于學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法有一定的借鑒價(jià)值,需要的朋友可以參考下

本文實(shí)例形式展示了C++實(shí)現(xiàn)循環(huán)鏈表中約瑟夫環(huán)的方法,分享給大家供大家參考之用。具體方法如下:

主要功能代碼如下:

#include <iostream>
using namespace std;

typedef struct student
{
 int data;
 struct student* next;
}node,*LinkList;
//約瑟夫環(huán)
void printfList(LinkList head){

 LinkList p=head;
 if (head!=NULL)
 {

 do{
  cout<<p->data<<" ";
  p=p->next;
 }while(p!=head);//這里出現(xiàn)過(guò)問(wèn)題,用do-while
 cout<<endl;
 }
}
void Josephus(int n,int k,int m){
 int i=2;
 LinkList head=(LinkList)malloc(sizeof(node));
 head->next=head;
 head->data=1;
 LinkList pre=head;
 while(i<=n){
   LinkList p=(LinkList)malloc(sizeof(node));
 p->data=i;
 p->next=pre->next;
 pre->next=p;
 pre=p;
 i++;
 }
 printfList(head);

 LinkList mend=pre;
 int kk=0;
 while(kk!=k){
 mend=mend->next;
 ++kk;
 }//找到k個(gè)開(kāi)始
 
 while(n--){//要全部輸出
 int mm=1;
 pre=mend;//每次都要給pre從新復(fù)值否則程序錯(cuò)誤
 while(mm!=m){//不是要求的數(shù),指針每次往前推一步,mend指向報(bào)數(shù)的人,pre指向前一個(gè)
  pre=mend;
  mend=mend->next;
  mm++;
 }
 pre->next=mend->next;//前一個(gè)鏈到下一個(gè)準(zhǔn)備報(bào)數(shù)的
 cout<<mend->data<<endl;
 LinkList deletem=mend;
 mend=pre->next;//mend指向報(bào)數(shù)的人;
 free(deletem); //最后刪除 
 }
}
int main(){
 Josephus(13,4,1);
 return 0;
}

希望本文所述對(duì)大家的C++程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • C++11中強(qiáng)類(lèi)型枚舉的使用

    C++11中強(qiáng)類(lèi)型枚舉的使用

    本文主要介紹了C++11中強(qiáng)類(lèi)型枚舉的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • C/C++ 編譯器優(yōu)化介紹

    C/C++ 編譯器優(yōu)化介紹

    這篇文章主要涉及了C/C++ 編譯器優(yōu)化的簡(jiǎn)單介紹,具有一定參考價(jià)值。如有不對(duì)之處,歡迎指出。
    2017-09-09
  • 詳細(xì)對(duì)比C語(yǔ)言中的chmod()函數(shù)和fchmod()函數(shù)

    詳細(xì)對(duì)比C語(yǔ)言中的chmod()函數(shù)和fchmod()函數(shù)

    這篇文章主要介紹了C語(yǔ)言中的chmod()函數(shù)和fchmod()函數(shù)的詳細(xì)對(duì)比,兩個(gè)都是用于修改文件權(quán)限但是請(qǐng)注意實(shí)際使用上的差異,需要的朋友可以參考下
    2015-09-09
  • c++代碼實(shí)現(xiàn)tea加密算法的實(shí)例詳解

    c++代碼實(shí)現(xiàn)tea加密算法的實(shí)例詳解

    這篇文章主要介紹了c++代碼實(shí)現(xiàn)tea加密算法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-04-04
  • C++ 中const修飾虛函數(shù)實(shí)例詳解

    C++ 中const修飾虛函數(shù)實(shí)例詳解

    這篇文章主要介紹了C++ 中const修飾虛函數(shù)實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • QT線程QThread的使用介紹

    QT線程QThread的使用介紹

    在進(jìn)行桌面應(yīng)用程序開(kāi)發(fā)的時(shí)候,假設(shè)程序在某些情況要處理復(fù)雜邏輯, 如果一個(gè)線程去處理,就會(huì)導(dǎo)致窗口卡頓,無(wú)法處理用戶操作。這就需要使用多線程,其中一個(gè)線程處理窗口事件,其他線程進(jìn)行邏輯運(yùn)算,多個(gè)線程各司其職,不僅可以提高用戶體驗(yàn)還可以提升程序的執(zhí)行效率
    2022-09-09
  • C語(yǔ)言快速掌握位段使用

    C語(yǔ)言快速掌握位段使用

    位段位段的聲明和結(jié)構(gòu)是類(lèi)似的,但是也會(huì)有所不同,此篇文章將帶你了解位段是什么已以及位段的使用和位段的特性,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧
    2022-09-09
  • 匯編語(yǔ)言rep movsd 的使用詳解

    匯編語(yǔ)言rep movsd 的使用詳解

    rep movsd 每次ecx!=0便執(zhí)行movsd ,然后ecx=ecx-1 movsd移動(dòng)ds:[si] 到es:[di],在32位匯編下可以用esi代替si,edi代替di
    2013-09-09
  • C語(yǔ)言超詳細(xì)講解線性表

    C語(yǔ)言超詳細(xì)講解線性表

    線性表,數(shù)據(jù)結(jié)構(gòu)中最簡(jiǎn)單的一種存儲(chǔ)結(jié)構(gòu),專(zhuān)門(mén)用于存儲(chǔ)邏輯關(guān)系為"一對(duì)一"的數(shù)據(jù)。線性表是基于數(shù)據(jù)在實(shí)際物理空間中的存儲(chǔ)狀態(tài),又可細(xì)分為順序表(順序存儲(chǔ)結(jié)構(gòu))和鏈表
    2022-07-07
  • C語(yǔ)言詳解如何實(shí)現(xiàn)帶頭雙向循環(huán)鏈表

    C語(yǔ)言詳解如何實(shí)現(xiàn)帶頭雙向循環(huán)鏈表

    帶頭雙向循環(huán)鏈表:結(jié)構(gòu)最復(fù)雜,一般用在單獨(dú)存儲(chǔ)數(shù)據(jù)。實(shí)際中使用的鏈表數(shù)據(jù)結(jié)構(gòu),都是帶頭雙向循環(huán)鏈表。另外這個(gè)結(jié)構(gòu)雖然結(jié)構(gòu)復(fù)雜,但是使用代碼實(shí)現(xiàn)以后會(huì)發(fā)現(xiàn)結(jié)構(gòu)會(huì)帶來(lái)很多優(yōu)勢(shì),實(shí)現(xiàn)反而簡(jiǎn)單
    2022-04-04

最新評(píng)論

淄博市| 西安市| 渭源县| 潮州市| 嵩明县| 铁岭县| 南召县| 上栗县| 福泉市| 通州区| 阿荣旗| 吉木萨尔县| 翁牛特旗| 怀宁县| 兴安县| 舞钢市| 凌源市| 石屏县| 简阳市| 南城县| 图们市| 柏乡县| 叙永县| 遂昌县| 安泽县| 长寿区| 贵港市| 库伦旗| 梅州市| 赤城县| 修水县| 阜康市| 来凤县| 阜城县| 昂仁县| 西乌珠穆沁旗| 安达市| 板桥市| 淳安县| 搜索| 社旗县|