头文件定义:
#include <stdlib.h>
typedef struct link
{
union
{
int len;
int data;
};
struct link *next;
}ringlink;
//创建约瑟夫环
ringlink *cearte_ring();
//创建链表
ringlink *cearte_link();
//申请节点
ringlink *node_cearte();
//尾插
int insert_tail(ringlink *L,int in_data);
//插入节点个数
int node_count(ringlink *L,int n);
//打印各节点的值
int print_data(ringlink *L);
//约瑟夫环中从第一个出发遇到第m个节点截取组成新序列
int linklist(ringlink *L,ringlink *L1,int m);
#endif
功能模块:
#include "ring.h"
ringlink *cearte_ring()
{
ringlink *L=(ringlink*)malloc(sizeof(ringlink));
if(L==NULL){
printf("申请失败\n");
return NULL;
}int in_data;
printf("输入第1节点值:");
scanf("%d",&in_data);
L->next=L;
L->data=in_data;
return L;
}
ringlink *cearte_link()
{
ringlink *L1=(ringlink*)malloc(sizeof(ringlink));
if(L1==NULL){
printf("申请失败\n");
return