循环链表应用-约瑟夫环

72 阅读1分钟
void Joseph(LinkList p,LinkList q,int m){ //p是首元结点,q是尾结点,m是报的数 
	int i=1;
	while(p!=q){
	if(i==m){
		q->next=q->next->next;
		delete p;
		p=q->next;
		i=1;
	}
	else{
		q=p;
		p=p->next;
		i++;
	}	
	}
	cout<<p->data;
}