Chinaunix首页 | 论坛 | 博客
  • 博客访问: 816754
  • 博文数量: 756
  • 博客积分: 40000
  • 博客等级: 大将
  • 技术积分: 4980
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-13 14:40
文章分类

全部博文(756)

文章存档

2011年(1)

2008年(755)

我的朋友

分类:

2008-10-13 16:14:43

/************************************************************************/
/*  cat catch mouse                                                     */
/*  author : smileonce                                                  */
/************************************************************************/

#include #include
using namespace std; struct node //耗子啥模样?就是这个样。 { int item; node* next; node(int x, node* t) { item = x; next = t; } }; typedef node *link; //找个空地让耗子排队。 int main(int argc, char* argv[]) { int i, N=9, M = 5; //N是多少耗子,M是隔几个XX一下
link t = new node(1, 0); t->next = t; //打头的先站好!
link x = t; for( i=2; i<=N; i++) x = ( x -> next = new node(i, t) ); //都给我站好!
while( x!= x-> next) { for (i=1; i< M; i++) x = x->next; x-> next = x-> next->next; //我踢,我踢,我踢踢踢~~~ }
cout << x-> item << endl; //最后还剩一个,嘿嘿,搞定。 return 0; }

--------------------next---------------------
好久不见呀,新年快乐。
无聊,来看看你的blog。
这个程序是练习使用循环链表吗?好像有些错误,不过我也没明白你想怎么抓耗子。

int main(int argc, char* argv[])
{
    int i, N=9, M = 5;                        //N是多少耗子,M是隔几个XX一下

    link t = new node(1, 0); t->next = t;     //打头的先站好!

    link x = t;
    for( i=2; i<=N; i++)
        x = ( x -> next = new node(i, t) );  //都给我站好!

   /* 这里最后x指向链表的最后一个元素 */

    while( x!= x-> next)   /* 循环到只有一个元素为止 */
    {
        for (i=1; i< M; i++) x = x->next;   /* 这个写得是不是有点错误,少循环一次,比如M为1,那么所谓的隔1个XX一下,并没有做到隔1个,1的时候不运行x = x->next */
        x-> next = x-> next->next;           //我踢,我踢,我踢踢踢~~~   /* 别踢了 */
    }

    cout << x-> item << endl;                //最后还剩一个,嘿嘿,搞定。
    return 0;
}
--------------------next---------------------

阅读(586) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~