// 约瑟夫环.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include<iostream>
#include "LinkList.h"
using namespace std;
template<class T>
void Josephus(Node<T> *first, int n)
{
Node<T> *temp = NULL;
cout << "离座顺序: ";
while(first->next != first)
{
Node<T> *p = first;
for(int j=1;j<n-1;)
{
p = p->next;
j++;
}
cout << p->next->data << " ";
first = p->next->next;
temp = p->next;
p->next = first;
delete temp;
}
cout << first->data << endl;
}
/*错误算法:delete p;后又引用p*/
//template<class T>
//void Josephus(Node<T> *first, int n)
//{
// Node<T> *temp = NULL;
// cout << "离座顺序: ";
// while(first)
// {
// Node<T> *p = first;
// for(int j=1;j<n-1;)
// {
// p = p->next;
// j++;
约瑟夫环实验报告
最新推荐文章于 2023-12-24 19:42:54 发布