void InitList(LinkList *L) { *L = NULL; } // 根据学号进行插入 int InsertById(LinkList *L, Student s) { LNode *p = *L, *pre = NULL; while (p != NULL && p->data.id < s.id) { pre = p; p = p->next; } if (p != NULL && p->data.id == s.id) { return 0; // 学号已存在 } LNode *newNode = (LNode *)malloc(sizeof(LNode)); newNode->data = s; newNode->next = p; if (pre == NULL) { *L = newNode; } else { pre->next = newNode; } return 1; } // 根据成绩进行插入 int InsertByScore(LinkList *L, Student s) { LNode *p = *L, *pre = NULL; while (p != NULL && p->data.score >= s.score) { pre = p; p = p->next; } if (p != NULL && p->data.id == s.id) { return 0; // 学号已存在 } LNode *newNode = (LNode *)malloc(sizeof(LNode)); newNode->data = s; newNode->next = p; if (pre == NULL) { *L = newNode; } else { pre->next = newNode; } return 1; }参考文献
时间: 2024-04-01 07:36:26 浏览: 62
xianxingbiao.zip_L.E.L
这段代码是一个基于链表实现的学生信息管理系统,包括根据学号和成绩进行插入操作。其中,InitList函数用于初始化链表,InsertById函数用于根据学号插入学生信息,InsertByScore函数用于根据成绩插入学生信息。每个学生信息包括学号和成绩。在插入时,如果学号已经存在,则返回0,表示插入失败。如果插入成功,则返回1。
阅读全文