注意单链表的要求是创建结构体类型,类型成员是学号,姓名和一个结构体指针,节点至少是4个,组成一个单向静态链表,然后进行赋值和输入输出等功能,需要添加增加节点(定义一个结构体变量)、删除一个节点、修改一个节点的函数
#include<stdio.h>
#include<string.h>
int main()
{
struct student
{
int num;
char name[20];
struct student *nextnode;
}stu1,stu2,stu3,*head,*pstu;
stu1.num=1000;
stu2.num=2000;
stu3.num=3000;
strcpy(stu1.name,"zhangsan");
strcpy(stu2.name,"lisi");
strcpy(stu3.name,"wamgmz");
head=&stu1;
stu1.nextnode=&stu2;
stu2.nextnode=&stu3;
stu3.nextnode=NULL;
printf("link ok\n");
for(pstu=head;pstu!=NULL;pstu=pstu->nextnode)
printf("%d %s\n",pstu->num,pstu->name);
return 0;
}
参考GPT和自己的思路:
首先需要定义一个结构体类型,包含学号、姓名和一个指向下一节点的指针。赋值时可以定义几个结构体变量,然后将它们串联成一个单向静态链表。要添加节点可以定义一个结构体变量,然后将其插入到链表中。要删除节点可以遍历链表找到需要删除的节点,然后将其前一个节点的指针指向删除节点的下一个节点。要修改节点可以遍历链表找到需要修改的节点,然后对其学号和姓名进行修改。对于输入输出等功能,可以在主函数中实现。