结构体:搜索链表

#include<iostream>
#include<iomanip>
using namespace std;
struct Student //创建结构体Student
{
	int number; //学号
	char name[20]; //姓名
	float Chinese, Math, English; //成绩语数英
	Student* next; //下一个节点
};
Student* CreateList() //创建链表
{
	Student* head = NULL, * p; //head为头指针,p为当前节点指针
	p = head = new Student; //开辟存储空间
	do {
		//输入第一个学生的学号、姓名、语数英成绩
		cin >> p->number >> p->name >> p->Chinese >> p->Math >> p->English;
		//若学号不存在,跳出循环
		if (p->number == 0) break;
		p->next = new Student;  //为下一个节点开辟存储空间
		p=p->next; //p指向下一个节点
	} while (true);
	p->next = NULL; //最后一个节点时,它的下一个节点为空
	return head; //返回头指针
}
Student* Search(Student* head, int keynumber) //搜索函数,搜索某个学生
{
	Student* p = head; //从头开始比对
	while (p->next != NULL) 
	{
		if (p->number == keynumber) return p; //找到该学生则返回指针p
		p=p->next; //若未找到,进行下一次比对
	}
	return NULL; //全部比对完还未找到,返回空指针
}
void print(Student* p) //打印函数
{
	if (p != NULL) //指针p不为空,即找到该学生,输出该学生的信息
	{
		cout << p->number << " " << p->name << " ";
		cout << fixed << setprecision(1) << p->Chinese << " " << p->Math << " " << p->English << endl;
	}
	else //指针p为空,即找不到该学生,输出没有该学生
		cout << "No such person" << endl;
}
int main()
{
	Student* stu; //创建成员
	stu = CreateList();  //调用链表函数
	int keynumber;  //需要搜索的学生
	cin >> keynumber;
	Student* p = Search(stu, keynumber); //调用搜索函数
	print(p); //调用打印函数
	return 0;
}

相关推荐

  1. 【数据结构

    2023-12-31 13:52:03       36 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-31 13:52:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-31 13:52:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-31 13:52:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-31 13:52:03       18 阅读

热门阅读

  1. Linux Shell 013-文本列过滤工具cut

    2023-12-31 13:52:03       39 阅读
  2. 09.kubernetes 部署calico / flannel网络插件

    2023-12-31 13:52:03       40 阅读
  3. MySql 第三方工具SQL Sugar

    2023-12-31 13:52:03       31 阅读
  4. 解密垃圾邮件分类:基于SVM的数据挖掘项目

    2023-12-31 13:52:03       41 阅读
  5. BFC(解决高度塌陷的问题)

    2023-12-31 13:52:03       29 阅读
  6. 2023年总结:不上班的这半年!

    2023-12-31 13:52:03       35 阅读
  7. ubuntu22.04,matlab问题记录

    2023-12-31 13:52:03       41 阅读
  8. PC端微信公众号文章采集

    2023-12-31 13:52:03       35 阅读