码迷,mamicode.com
首页 > 其他好文 > 详细

华为历年试题(10约瑟夫环)

时间:2014-07-09 23:43:04      阅读:246      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   os   问题   for   

约瑟夫环形问题

有30人将其编号,从头开始1,2,3数数,每到3将其删除,一共删去15个数。输出被删去的15个数

 

 

#include<iostream>
using namespace std;

struct LinkList
{
  int val;
  LinkList* next;
  LinkList(int a):val(a),next(NULL){}
};
LinkList *CreatList(int n)
{
  LinkList *p = new LinkList(1);
  LinkList *h  = p;
  for(int i=2;i<=n;i++)
  {
     LinkList *p1 = new LinkList(i); 
     p->next = p1;
     p = p->next;
  }
  p->next = h;
  return h;
}
void del()//一共有30个人,要删除15个人,删除的数输出
{
   LinkList *h = CreatList(30);   //创建30个结点的链表

   int num = 15;
   LinkList *p = h,*p1 = h;
   
   while(num)
   {
     num--;
     p = p->next;
     cout<<p->next->val<<" ";
     p1 = p->next->next;
     delete p->next;
     p->next = p1;
     p = p1;   
   }
   cout<<endl;
}
void main()
{    
    del();       
}

 

华为历年试题(10约瑟夫环),布布扣,bubuko.com

华为历年试题(10约瑟夫环)

标签:style   blog   color   os   问题   for   

原文地址:http://www.cnblogs.com/Xylophone/p/3812627.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!