头文件部分(.h文件)
#ifndef __LOOP_LINKLIST_H__
#define __LOOP_LINKLIST_H__
typedef int dataType;
union msg {
dataType data;
int len;
};
typedef struct node {
union msg text;
struct node* next;
} linkList;
linkList* createLinkedList(int n); // 创建循环单链表函数声明
linkList* deleteHeadNode(linkList* head); //删除头结点函数声明
void josephProblem(int n, int m); // Joseph问题求解函数声明
#endif
func函数部分(.c文件)(主要部分)
// 创建循环单链表
linkList* createLinkedList(int n)
{
linkList* head = (linkList*)malloc(sizeof(linkList));
head->next = head;
linkList* current = head;
int i;
for (i = 1; i <= n; i++) {
linkList* newNode = (linkList*)malloc(sizeof(linkList));
newNode->text.data = i;
newNode->next = head;
current->next = newNode;
current =