数据结构8.12

作业:创建单链表,存储4个学生信息(年龄,分数,姓名)。

1、建立学生结构体数组,存放4个学生信息,循环调用插入函数,建立整表

2、任意位置插入一个新学生。变量e是学生结构体变量。

3、任意位置删除一个学生。

4、单链表逆置后将学生信息输出。

main.c

cs 复制代码
#include"stu.h"
int main(int argc, const char *argv[])
{
	Pnode stu = input_stu();
	for(int i = 0;i<MAX;i++)
	{
		tail_insert(stu,input_stu());
	}
	return 0;
}

stu.c

cs 复制代码
#include"stu.h"

Pnode get_head()
{
	Pnode p = malloc(sizeof(Node));
	if(p==NULL)
	{
		printf("申请失败\n");
		return NULL;
	}
	p->len = 0;
	p->next = NULL;
	return p;
}

int input_stu(Pnode L)
{
	int i;
	for(i = 0;i<MAX;i++)
	{
		printf("请输入第%d个学生的姓名:\n",i+1);
		scanf("%s",L->data[i].name);
		printf("请输入第%d个学生的年龄:\n",i+1);
		scanf("%d",L->data[i].age);
		printf("请输入第%d个学生的成绩:\n",i+1);
		scanf("%d",L->data[i].score);
	}
	L->len++;
	return 0;

}

stu.h

cs 复制代码
#ifndef _STU_H_
#define _STU_H_
#include<myhead.h>
#define MAX 4

typedef struct stu
{
	char name[20];
	int age;
	int score;
};

typedef struct node
{
	union
	{
		stu data;
		int len;
	}
	struct node *next;
}Node,*Pnode;


#endif
相关推荐
念越2 小时前
数据结构:栈堆
java·开发语言·数据结构
dear_bi_MyOnly3 小时前
【多线程——线程状态与安全】
java·开发语言·数据结构·后端·中间件·java-ee·intellij-idea
浪客灿心3 小时前
list_stack_queue
数据结构·list
zh_xuan3 小时前
最小跳跃次数
数据结构·算法
zh_xuan4 小时前
单青蛙跳台阶
数据结构·算法
罗湖老棍子5 小时前
【 例 1】石子合并(信息学奥赛一本通- P1569)
数据结构·算法·区间dp·区间动态规划·分割合并
小高Baby@5 小时前
JSON、bind、form
数据结构·json
数智工坊8 小时前
【数据结构-栈】3.1栈的顺序存储-链式存储
java·开发语言·数据结构
执着2598 小时前
力扣102、二叉树的层序遍历
数据结构·算法·leetcode
元亓亓亓8 小时前
考研408--数据结构--day5--栈与队列的应用
数据结构·考研··408·队列