一道关于链表的问题

来源:百度知道 编辑:UC知道 时间:2024/05/26 08:42:21
/* 单向动态链表的综合操作 */
#include <stdlib.h>
#include <stdio.h>
#include <malloc.h>
/* 链表中各个结点按学号由小到大的顺序从前到后排列 */
/* 链表中每个学生的定义 */
struct student {
int num;/*学号*/
float score;/*成绩*/
struct student *next;
} ;
typedef struct student STUDENT ;
STUDENT * creat(void);
/* 功能:创建一个新链表,注意在创建之前必须全部删除原有的链表。
*/
void print(STUDENT * head);
/* 功能:输出链表中的全部学生的信息
*/
void search(STUDENT * head, int number);
/* 功能:根据学号查找链表中的某个学生的成绩。
*/
STUDENT * insert(STUDENT * head);
/* 功能:在链表中插入一个新的学生。
*/
STUDENT * del(STUDENT * head,int number);
/* 功能:根据学号删除链表中的一个学生。
*/
STUDENT * deleteall(STUDENT * head);
/* 功能:删除整个链表。
*/
void main( void )
{
STUDENT * head=NULL;
int choice=0, number=0;
do {
printf("====================================================\n");
p

这题你随便找本C语言的书里找结构链表那地方就有 上网搜也应该能找到相关的方法 这些方法都差不多 改改就可以了 值得注意的是你那个创建链表的函数要求 这么看来同一时间只存在一个链表 这样每次建立新表时 只要从旧表的首指针开始创建新表就可以了