#include<iostream>
using namespace std;
typedef struct STU
{
char name[20];
char sno[20];
int age;
float score;
}Student;
typedef struct LNode
{
Student data;
struct LNode *next;
}LNode, *LinkList;
//初始化(带头结点的单链表)
int InitList(LinkList &L)
{
L = new LNode;
L->next = NULL;
return 1;
}
//判断链表是否为空
int ListEmpty(LinkList L)
{
if (L->next == NULL)
{
return 1; // 链表为空
}
else
{
return 0;//链表非空
}
}
//获取链表长度
int ListLength(LinkList L)
{
int length = 0;
LNode *p;
p = L->next;
while (p)
{
p = p->next;
length++;
}
return length;
}
//遍历链表
void TraveList(LinkList L)
{
LNode *p;
p = L->next;
printf("链表结构如下:\n");
while (p)
{
printf("%s %s %d %.2f", p->data.name, p->data.sno, p->data.age, p->data.score);
printf("\n");
p = p->next;
}
}
//插入操作
int ListInsert(LinkList &L, int location, Student &e)
{
//