约瑟夫环(jusephus)
本题要求实现2个函数,建立一个不带头结点的单循环链表,以及约瑟夫环的出列函数
函数接口定义:
void initCircle(List& L,int n);
//建立一个不带头结点的单循环链表, L为链表,n为结点个数
//结点的data为1~n的自然数
void out(List L, int n, int m, SqList& result);
//出列:L为约瑟夫环,n为环长度,m:从当前结点开始计数,第m个出
//result: 出列的数据依次放入一个顺序表
裁判测试程序样例:
//测试程序如下:其中已经有顺序表的初始化,插入,输出函数
#include<iostream>
#define MAXSIZE 100
#define OK 0
#define ERROR 1
using namespace std;
typedef int ElementType;
typedef int Position;
typedef int Status;
typedef struct
{
ElementType *elem; //存储空间基址
int length; //当前数据的实际长度(有多少数据)
} SqList; //顺序表
Status seqListInit(SqList &L)
{
L.elem = new ElementType[MAXSIZE];
L