青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

旅途

如果想飛得高,就該把地平線忘掉

面試系列2--約瑟夫環(huán)問題(Josephus)

原題:

?用戶輸入M,N值,從1至N開始順序循環(huán)數(shù)數(shù),每數(shù)到M輸出該數(shù)值,直至全部輸出。寫出C程序。(約瑟夫環(huán)問題 Josephus)

提示:

??? 由于當(dāng)某個(gè)人退出圓圈后,報(bào)數(shù)的工作要從下一個(gè)人開始繼續(xù),剩下的人仍然是圍成一個(gè)圓圈的,可以使用循環(huán)表,由于退出圓圈的工作對(duì)應(yīng)著表中結(jié)點(diǎn)的刪除操作,對(duì)于這種刪除操作頻繁的情況,選用效率較高的鏈表結(jié)構(gòu),為了程序指針每一次都指向一個(gè)具體的代表一個(gè)人的結(jié)點(diǎn)而不需要判斷,鏈表不帶頭結(jié)點(diǎn)。所以,對(duì)于所有人圍成的圓圈所對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu)采用一個(gè)不帶頭結(jié)點(diǎn)的循環(huán)鏈表來描述。設(shè)頭指針為p,并根據(jù)具體情況移動(dòng)。
??? 為了記錄退出的人的先后順序,采用一個(gè)順序表進(jìn)行存儲(chǔ)。程序結(jié)束后再輸出依次退出的人的編號(hào)順序。由于只記錄各個(gè)結(jié)點(diǎn)的number值就可以,所以定義一個(gè)整型一維數(shù)組。如:int? quit[n];n為一個(gè)根據(jù)實(shí)際問題定義的一個(gè)足夠大的整數(shù)。

代碼:

/********************************************************************
??? created:??? 2006/06/14
??? filename:?? C:\Documents and Settings\Administrator\桌面\tmpp\josephus.c
??? file path:? C:\Documents and Settings\Administrator\桌面\tmpp
??? file base:? josephus
??? file ext:?? c
??? author:???? A.TNG
??? version:??? 0.0.1
???
??? purpose:??? 實(shí)現(xiàn) Josephus 環(huán)問題
??????????????? 用戶輸入M,N值,從1至N開始順序循環(huán)數(shù)數(shù),每數(shù)到M輸出該數(shù)值,
??????????????? 直至全部輸出。寫出C程序。(約瑟夫環(huán)問題 Josephus)
*********************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <malloc.h>

/* 結(jié)構(gòu)體和函數(shù)聲明 */
typedef struct _node_t
{
??? int???????????? n_num;
??? struct _node_t *next;
} node_t;

node_t???????? *node_t_create(int n);
node_t???????? *node_t_get(node_t **pn, int m);

/* 功能函數(shù)實(shí)現(xiàn) */

/*
?*? name: node_t_create
?*? params:
?*??? n???????? [in]??????? 輸入要構(gòu)造的鏈表的個(gè)數(shù)
?*? return:
?*??? 返回構(gòu)造成功的環(huán)形單向鏈表指針
?*? notes:
?*??? 構(gòu)造節(jié)點(diǎn)數(shù)量為 n 的環(huán)形單向鏈表
?*
?*? author: A.TNG 2006/06/14 17:56
?*/
node_t * node_t_create(int n)
{
??? node_t *p_ret?? = NULL;

??? if (0 != n)
??? {
??????? int???? n_idx?? = 1;
??????? node_t *p_node? = NULL;

??????? /* 構(gòu)造 n 個(gè) node_t */
??????? p_node = (node_t *) malloc(n * sizeof(node_t));
??????? if (NULL == p_node)
??????????? return NULL;
??????? else
??????????? memset(p_node, 0, n * sizeof(node_t));

??????? /* 內(nèi)存空間申請(qǐng)成功 */
??????? p_ret = p_node;
??????? for (; n_idx < n; n_idx++)
??????? {
??????????? p_node->n_num = n_idx;
??????????? p_node->next = p_node + 1;
??????????? p_node = p_node->next;
??????? }
??????? p_node->n_num = n;
??????? p_node->next = p_ret;
??? }

??? return p_ret;
}

/*
?*? name: main
?*? params:
?*??? none
?*? return:
?*??? int
?*? notes:
?*??? main function
?*
?*? author: A.TNG 2006/06/14 18:11
?*/
int main()
{
??? int???? n, m;
??? node_t *p_list, *p_iter;

??? n = 20; m = 6;

??? /* 構(gòu)造環(huán)形單向鏈表 */
??? p_list = node_t_create(n);

??? /* Josephus 循環(huán)取數(shù) */
??? p_iter = p_list;
??? m %= n;
??? while (p_iter != p_iter->next)
??? {
??????? int i?? = 1;

??????? /* 取到第 m-1 個(gè)節(jié)點(diǎn) */
??????? for (; i < m - 1; i++)
??????? {
??????????? p_iter = p_iter->next;
??????? }

??????? /* 輸出第 m 個(gè)節(jié)點(diǎn)的值 */
??????? printf("%d\n", p_iter->next->n_num);

??????? /* 從鏈表中刪除第 m 個(gè)節(jié)點(diǎn) */
??????? p_iter->next = p_iter->next->next;
??????? p_iter = p_iter->next;
??? }
??? printf("%d\n", p_iter->n_num);

??? /* 釋放申請(qǐng)的空間 */
??? free(p_list);

??? system("PAUSE");
}

posted on 2007-09-05 01:15 旅途 閱讀(444) 評(píng)論(0)  編輯 收藏 引用 所屬分類: C/C++

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲缚视频在线观看| 欧美精品久久99| 欧美精品国产精品| 99国产精品一区| 99精品国产热久久91蜜凸| 欧美日韩国产一区精品一区| 亚洲欧美电影在线观看| 欧美一进一出视频| 免费日韩视频| 国产精品三区www17con| 久久网站热最新地址| 麻豆av一区二区三区| 先锋影音国产精品| 美女视频黄免费的久久| 亚洲天堂免费在线观看视频| 久久福利精品| 亚洲小说欧美另类婷婷| 久久精品人人做人人爽| 一区二区三区四区五区精品视频 | 欧美亚洲日本国产| 91久久精品一区二区别| 亚洲夜晚福利在线观看| 亚洲精品国久久99热| 欧美一级精品大片| 在线性视频日韩欧美| 久久精品日产第一区二区三区| 一本一本久久a久久精品综合麻豆 一本一本久久a久久精品牛牛影视 | 韩国成人精品a∨在线观看| 亚洲国产精品ⅴa在线观看| 国产精品麻豆成人av电影艾秋| 免费看精品久久片| 国产一本一道久久香蕉| 制服丝袜亚洲播放| 亚洲国产婷婷综合在线精品 | 海角社区69精品视频| 一区二区三区 在线观看视频| 精久久久久久| 欧美一级视频精品观看| 午夜免费日韩视频| 欧美二区在线观看| 免费成人在线视频网站| 国产综合一区二区| 亚洲一区在线观看免费观看电影高清| 亚洲精品日韩久久| 美腿丝袜亚洲色图| 久久综合网络一区二区| 国产一区二区视频在线观看| 亚洲欧美美女| 欧美一区二区日韩一区二区| 国产精品va在线播放| 亚洲啪啪91| 99精品国产福利在线观看免费| 男人插女人欧美| 美脚丝袜一区二区三区在线观看| 国产一区二区三区的电影| 亚洲综合色丁香婷婷六月图片| 亚洲视频一区二区在线观看| 欧美日韩免费网站| 99re亚洲国产精品| 亚洲女人天堂av| 欧美系列一区| 一本色道久久综合亚洲精品小说| 亚洲影院在线观看| 久久久久久免费| 国产主播一区二区三区四区| 亚洲欧美日韩综合一区| 久久精品欧美| 一区精品在线| 农夫在线精品视频免费观看| 欧美国产日韩精品| 一区二区不卡在线视频 午夜欧美不卡在| 欧美国产日本韩| 99国产精品| 久久精品在线视频| 伊人久久亚洲美女图片| 欧美大尺度在线| 在线中文字幕一区| 欧美一区二区视频免费观看| 国产亚洲二区| 欧美高清视频| 亚洲一区不卡| 美女91精品| 亚洲视频成人| 国产日韩欧美91| 久久中文字幕一区二区三区| 亚洲日本久久| 性伦欧美刺激片在线观看| 国产一区二区无遮挡| 久久久99爱| 一二三四社区欧美黄| 久久经典综合| 日韩视频一区二区三区在线播放| 国产精品成人免费精品自在线观看| 亚洲欧美日韩综合一区| 欧美国产欧美综合| 亚洲影音一区| 激情六月婷婷综合| 欧美日韩中文| 久久久久久久综合日本| 亚洲最新在线视频| 毛片精品免费在线观看| 亚洲性夜色噜噜噜7777| 曰韩精品一区二区| 欧美午夜精品一区| 久久精品99无色码中文字幕| 亚洲精品欧洲精品| 噜噜噜在线观看免费视频日韩| 中日韩高清电影网| 在线成人激情黄色| 国产欧美日韩综合精品二区| 欧美国产日本韩| 欧美在线视频在线播放完整版免费观看 | 亚洲精品之草原avav久久| 久久av一区二区三区| a91a精品视频在线观看| 国内精品伊人久久久久av影院| 欧美日韩精品一区二区天天拍小说| 欧美在线亚洲| 亚洲一区二区三区四区中文| 嫩草成人www欧美| 亚洲欧美激情精品一区二区| 99re6这里只有精品视频在线观看| 国产亚洲欧美日韩日本| 欧美日本韩国一区| 欧美激情综合色| 免费在线观看一区二区| 久久久久综合| 欧美一区二区在线观看| 中文无字幕一区二区三区| 亚洲激情小视频| 亚洲国产乱码最新视频| 久热国产精品视频| 久久九九久久九九| 久久久久国产成人精品亚洲午夜| 欧美激情网友自拍| 国产丝袜一区二区| 性久久久久久久久久久久| 久久艳片www.17c.com| 亚洲主播在线| 亚洲免费激情| 91久久精品网| 久久中文字幕导航| 久久精品国产一区二区电影| 性色av香蕉一区二区| 亚洲一区二区少妇| 一本一本久久| 宅男噜噜噜66一区二区66| 亚洲最黄网站| 一本久久综合亚洲鲁鲁| 亚洲色图在线视频| 一本久久知道综合久久| 一区二区三区久久| 中日韩午夜理伦电影免费| 一区二区日韩伦理片| 亚洲精品欧美极品| 一二三区精品福利视频| 99精品久久久| 亚洲午夜一区二区| 亚洲无亚洲人成网站77777| 亚洲一区二区毛片| 欧美中文字幕| 久久久免费av| 欧美国产日本韩| 亚洲欧洲在线播放| 日韩西西人体444www| 亚洲一级在线| 久久国产精品久久w女人spa| 久久久国产精品一区二区三区| 老鸭窝亚洲一区二区三区| 欧美a级在线| 欧美日韩在线亚洲一区蜜芽| 国产精品羞羞答答xxdd| 国产亚洲激情在线| 最新精品在线| 亚洲欧美日韩国产中文 | 午夜在线成人av| 久久精品男女| 欧美精品在线网站| 国产精品影视天天线| 在线观看日韩欧美| 一区二区三区久久| 欧美一区二区三区精品电影| 欧美成人一区二免费视频软件| 99视频有精品| 老巨人导航500精品| 国产精品白丝av嫩草影院| 国产一区二区中文| 99精品欧美一区二区蜜桃免费| 欧美亚洲视频| 亚洲人精品午夜| 欧美一区2区三区4区公司二百| 欧美国内亚洲| 国产真实久久| 亚洲一区激情| 欧美国产极速在线| 亚洲欧美影院| 欧美体内she精视频在线观看| 黄色亚洲在线| 性欧美xxxx视频在线观看| 亚洲国产成人在线视频|