C语言数据结构(顺序表)——实现学生信息的储存

本文介绍了数据结构中的线性表——顺序表,包括其定义、创建、插入、显示、删除、逆序及元素位置交换等操作。通过C语言实现,详细阐述了如何使用顺序存储结构来高效地管理学生信息。
摘要由CSDN通过智能技术生成

数据结构研究的是数据的逻辑结构,存储结构及其操作,学习数据结构是为了让我们更加高效、简洁的写程序。
数据结构可分为以下几点关系:

  1. 1对1(线性表)
  2. 1对多(树)
  3. 多对多(图)

存储结构分为:
顺序存储(顺序表)
链式存储(链表)
索引存储
散列存储(Hash表)

线性表(1对1)

特点:

  1. 顺序并且连续存储 ——>(和数组的概念基本相似)
  2. 大小固定
  3. 表满不能存,表空不能取

优点:查找相对方便 可以根据位置进行查找元素。
缺点:添加、删除需要移动元素,代码较为繁琐。

定义顺序表

在定义顺序表时,我们可以利用结构体对顺序表进行提前定义。
例:(头文件中对顺序表的提前定义)

#define N 10 //表中有10个要存储的元素
typedef struct stu_list
{
   
	int age;	//储存年龄
	char name[20];	//储存姓名
}type_data;

typedef struct list
{
   
	type_data data;
	int count;		//保存顺序表中有多少个有效数据
					//count == 0 表示表空
					//count == N 表示表满
}List;

创建顺序表

头文件中提前定义创建顺序表函数(以创建学生信息为例)

List *create_list(int size);
//参数:创建顺序表存储元素的个数
//返回值:成功返回顺序表的首地址,失败返回失败原因

子函数文件中编写创建顺序表的子函数

List *create_list(int size)
{
   
	List *pList = NULL;
	pList = (List *)malloc(sizeof(List));
	if(NULL == pList) 	//判断是否创建成功
	{
   
		perror("malloc error");
		return NULL;
	}
	memset(pList,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值