实验要求
1写一个生成数据的程序:
生成input.ifo文件(文件格式可以是文本文件,也可以是二进制文件),包含30个人名字(字符串:自己名字+随机编号,要求名字不同,随机编号用随机数生成,并保证不同)
2再写一个读入数据生成链表并处理的程序:
从上述input.ifo文件读入人员信息,正向建立线性表,使用循环链表方式存储;
输出线性表各结点的值和在线性表的位置值到屏幕;
键盘输入编号值S,在线性表中查找到编号为S的结点并输出结点的(需要测试查找到和查找不到两种情况);
键盘输入位置值M,从线性表中1号结点开始向后报数,将报M的结点从线性表中删除,并输出该结点的编号和初始位置;(提示:可以将按位置删除函数改造成一个新的删除函数,删除的同时返回指向下一个结点的指针值、被删除结点的值;初始位置的值,可以考虑在建立循环链表时保存到结点内)
从刚才被删除人的下一个人开始重复上述步骤,直至最后只剩下一个人为止;
输出最后剩余一个人的编号和在线性表的初始位置。
//
#include<stdio.h>
#include<stdlib.h>
#define MAXSIZE 100
typedef int ElemType;
typedef struct LNode
{
ElemType data;
struct LNode *next;
}LNode,*LinkList;
//防添加