import java.util.Scanner;/**
* @author:Ravanla
* @vreate:2019-10-15-18:43
*/publicclassYueSeFu{
Scanner sc =newScanner(System.in);
Node head;
Node tail;publicYueSeFu(){
head =newNode();
tail = head;
Scanner sc =newScanner(System.in);
int n = sc.nextInt();
int k = sc.nextInt();
int m = sc.nextInt();
y.Create(n,k,m);}
创建一个循环链表
voidCreate(int n,int k,int m){
Node temp = head;for(int i =1; i < n ; i++){
Node p =newNode();
p.data = i;
temp.next = p;
temp = p;}// 头插入 , 插入剩下最后一个 , 让它的next指向head// 下面就是让它指向head
Node p =newNode();
p.data = n;
temp.next = p;
p.next = head.next;// Print();// 打印循环链表,可以看看效果DeleteYSF(k,m);}
voidDeleteYSF(int k, int m){// 从第k个开始删除,// 每m个就删除一次,删除之前打印一下删除的数据
Node prev = head;// prev是d 的前驱节点
Node d = prev.next;for(int i =1; i < k; i++){
prev = d;
d = d.next;}
System.out.print(d.data +" ");Delete(prev);
d = prev.next;while(prev != d){for(int i =1; i < m; i++){
prev = d;
d = d.next;}
System.out.print(d.data +" ");Delete(prev);
d = prev.next;}
System.out.print(d.data +" ");}