函数返回值为指向环链最表新版的整理最pp后t 一个节点的指针
8
3. Jose * count(int, Jose *) 两个参数分别为数小孩的个数、当前节点的指针 函数返回值为数了小孩个数后的当前节点的前一个节点的指针
4. void process(int, int, Jose *) 三个参数分别为小孩总数、间隔数、当前节点的前一个节点 的指针
定义两个类: Ring类 属性: 链表的始地址; 当前指针; 哨兵指针
操作: 按照间隔数确定当前指针; 输出小孩的编号; 将当前小孩从链表中删除; 构造环链表; 析构环链表;
Jose类 属性: 总数; 间隔数; 开始位置 操作: 属性赋初值; 处理所有小孩并找出胜利者
最新版整理ppt
13
//文件为ring.h
1 n
n-1
2 3
...
};
其函数声明如下:
1. int assign(int *, int *, int *)
三个参数分别为指向总数、间隔数、开始位置的指针
函数返回值为1,则初始化成功;为0,则失败
2. Jose * initial(int , Jose *)
两个参数分别为总数和结构指针, 指向待初始化的结构数组
return 1;
}
最新版整理ppt
10
jp
Jose * initial(int n, Jose * jp)
{
int nline=0;
Jose * px = jp;
for(int i=1; i <= n; i++) {
px -> next = jp + i%n;
px ->code = i;