i ,a
i+1
>|a
i
,a
i+1
∈D}
基本操作:
Initlist (L)
操作前提:L是一个未初始化的线性表
操作结果:将L初始化为一个空的线性表CrtLinkList(L)
操作前提:L是一个已初始化的空表
操作结果:建立一个非空的线性表L Insertlist (L,pos,e)
操作前提:线性表L已存在
操作结果:将元素e插入到线性表L的pos位置
deleteList (L,pos,e)
操作前提:线性表L已存在
操作结果:将线性表L中pos位置的元素删除,
删除的元素值通过e返回
LocLinkList(L,e)
操作前提:线性表L已存在
操作结果:在线性表L中查找元素e,
若存在,返回元素在表中的序号位置;
若不存在,返回-1
五:详细设计:(给出算法的伪码描述和流程图)
输出提示信息
void menu(void){ /*主菜单函数*/
system("cls");
printf("***************************************************
\n");
printf(" ^_^学生通讯录管理系统^_^\n");
printf("*************************************************** \n");
printf(" 1=录入学生通讯录信息\n");
printf(" 2=列出所有学生通讯录 \n"); printf(" 3=按姓名查询信息 \n"); printf(" 4=按学号查询信息 \n"); printf(" 5=删除学生信息 \n"); printf(" 6=排序 \n"); printf(" 0=退出 \n"); printf("*************************************************** ***\n");
}
存入学生信息
struct student *shuru(void) /*输入函数*/
{
system("cls");
struct student *s1,*s2;
n=1;
intnum;
printf("请输入学生个数(提示:个数不能输入0!):");
scanf("%d",&num);
s1=s2=(struct student *)malloc(sizeof(struct student)); printf("*************************************************") ;
printf("请输入学号:");
scanf("%ld",&s1->num);
printf("请输入学生姓名:");
scanf("%s",s1->name);
printf("请输入班级:");
scanf("%d",&s1->banji);
printf("请输入电话号码:");
scanf("%s",s1->shoujihaoma);
printf("请输入电子邮件:");
scanf("%s",s1->Email);
printf("请输入学生宿舍电话号:");
scanf("%d",&s1->sushedianhua);
stu=s1;
while(n{
s2->next=s1;
s2=s1;
s1=(struct student *)malloc(sizeof(struct student));
printf("*************************************************") ;
printf("请输入学号:");
scanf("%ld",&s1->num);
printf("请输入学生姓名:");
scanf("%s",s1->name);
printf("请输入班级:");
scanf("%d",&s1->banji);
printf("请输入电话号码:");
scanf("%s",s1->shoujihaoma);
printf("请输入电子邮件:");
scanf("%s",s1->Email);
printf("请输入学生宿舍号:");
scanf("%d",&s1->sushedianhua);
n=n+1;
}
printf("*************************************************")