圆圈中最后剩下的数字
2014-09-02 19:31
260 查看
#include using namespace std; typedef struct LinkNode { int data_in; LinkNode *next; }; LinkNode* LasterNum(LinkNode *node,int m); int main() { LinkNode *node,*head; node=new LinkNode; head=node; int data_in; cin>>data_in; node->data_in=data_in; while(1) { cin>>data_in; if (data_in==0) { break;; } LinkNode *temp; temp=new LinkNode; temp->data_in=data_in; node->next=temp; node=temp; } node->next=NULL; int m; cin>>m; LinkNode *LasterNumber=LasterNum(head,m); system("pause"); return 0; } LinkNode* LasterNum(LinkNode *node,int m) { if (node==NULL) { return NULL; } //组成循环链表 LinkNode *head; head=node; while(1) { if (node->next==NULL) { break; } node=node->next; } node->next=head; node=head; //循环访问链表,删除第每个 int i=1; while(head->next) { //如果进入m-1各节点,把m删了 if (i==(m-1)) { head=node->next->next; delete node->next; node->next=head; node=head; i=1; if (head->next==head) { break; } } else { node=node->next; i++; } } head->next=NULL; return head; }
相关文章推荐
- Q45:圆圈中最后剩下的数字
- 圆圈中最后剩下的数字
- 面试题 45: 圆圈中最后剩下的数字
- 剑指Offer:圆圈中最后剩下的数字
- 圆圈中剩下的最后数字
- 剑指Offer-62:圆圈中最后剩下的数字
- 圆圈中最后剩下的数字--约瑟夫环问题
- 圆圈中最后剩下的数字
- 《剑指Offer》学习笔记--面试题45:圆圈中最后剩下的数字
- 100题_14 圆圈中最后剩下的数字
- 剑指offer-第六章面试中的各项能力(圆圈中剩下的最后数字)
- 数据结构练习(13)圆圈中最后剩下的数字
- 圆圈中最后剩下的数字
- 编程算法 - 圆圈中最后剩下的数字(递推公式) 代码(C++)
- 45:圆圈中最后剩下的数字
- 剑指offer(49):约瑟夫环问题(圆圈中最后剩下的数字)
- 剑指offer:圆圈中最后剩下的数字
- IT公司100题-18-圆圈中最后剩下的数字
- 圆圈中最后剩下的数字
- 程序员面试题精选100题(14)-圆圈中最后剩下的数字[算法]