约瑟夫环报数,输入学生数量StuNum,报数上限m,从第一个学生开始报数,第m个输出,随后以下一个学生为新的节点从头报数,报完为止。

发布于:2022-12-02 ⋅ 阅读:(143) ⋅ 点赞:(0)

#include<iostream>

using namespace std;

typedef struct LNode{

  string name;

  int num;

  string gender;

  int age;

  string Class;

  string health;

  struct LNode* next;

}LNode,*Linklist;

  Linklist CreatCirclelist(Linklist &L,int StuNum){

   L = new LNode;

   LNode* newNode = L;

   for(int i = 0;i<StuNum;i++){

   LNode* p = new LNode;

   cin>>newNode->name>>newNode->num>>newNode->gender>>newNode->age>>newNode->Class>>newNode->health;

       newNode->next = p;

       newNode = p;

      newNode->next = L;

  }    

  }

  void printlist(Linklist &L,int StuNum,int m){

  LNode*newNode = L;

  LNode*temp = L;

  for(int i = 0;i<StuNum;i++){

      if(i==m-1){

   cout<<newNode->name<<" "<<newNode->num<<" "<<newNode->gender<<" "<<newNode->age<<" "<<newNode->Class<<" "<<newNode->health<<" "<<endl;

      temp->next = newNode->next;

      delete newNode;

   newNode = temp->next;

      break;

    }

    temp->next = newNode;

  }

   L->next = newNode;

 }

  int main(){

   int StuNum;

   cin>>StuNum;

   int m;

   cin>>m;

   Linklist L;

   CreatCirclelist(L,StuNum);

      for(int i = 0;i<StuNum;i++) 

    printlist(L,StuNum,m);

    return 0;

   

  }

 

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到