;(尾插法插入链表) 输出学生信息,p=p->next count=count+1;学生总数加1Р3、插入学生 4、删除学生Р输入要插入的位置数字选择删除方式Рscanf("%d",&w); 按编号删除和学号删除Р调用插入函数 1编号调用Delete_StudentРInsert_Student(h,w); 2学号调用Locate_Student找到Р 学生位置,在用Delete_StudentР的流程图如下:РInsert_Student 函数 Delete_Student的函数流程图:Р Р Р РLocate_Student函数的流程图与如下:Locate_Student1的流程图类似,不再重复了Р Р5查找学生:调用Seek_Student函数,分为按学号查找和按姓名查找Р1按编号调用Locate_Student函数返回i在调用Out_one_Student输出第i个学生Р2 按姓名调用Locate_Student1函数返回i在调用Out_one_Student输出第i个学生Р6排序函数调用Queue_Student函数:其中有按学号,总分,各科成绩排序Р我这里采用的是冒泡排序法进行排序,分别定义了两个节点指针q指向头指针p指向q的下一个节点,在进入双重循环进行比较排序流程图如下:Р排序的方法都类似,知识比较数据不同,所以就没有一一画出来了Р7 筛选Р创建另一个链表r用于存筛选出来的学生,并调用output_Student函数输出Р筛选程序流程图如下:Р筛选程序又分为1 按总分选 2 全部及格的人 3 按各科成绩Р1 而总分筛选主要是输入一个数值,判断数据是否大于输入数据,大于的都输出Р2 去不几个的人通过比较每一科成绩是否都大于60分,大于的就选出插入新链表并输出Р3 各科成绩的话是只比较其中一科来创建链表并输出Р其比较流程图都如上图所示,这里便不再一一画出来了。