数据结构研究的是数据的逻辑结构,存储结构及其操作,学习数据结构是为了让我们更加高效、简洁的写程序。
数据结构可分为以下几点关系:
- 1对1(线性表)
- 1对多(树)
- 多对多(图)
存储结构分为:
顺序存储(顺序表)
链式存储(链表)
索引存储
散列存储(Hash表)
线性表(1对1)
特点:
- 顺序并且连续存储 ——>(和数组的概念基本相似)
- 大小固定
- 表满不能存,表空不能取
优点:查找相对方便 可以根据位置进行查找元素。
缺点:添加、删除需要移动元素,代码较为繁琐。
定义顺序表
在定义顺序表时,我们可以利用结构体对顺序表进行提前定义。
例:(头文件中对顺序表的提前定义)
#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,
本文介绍了数据结构中的线性表——顺序表,包括其定义、创建、插入、显示、删除、逆序及元素位置交换等操作。通过C语言实现,详细阐述了如何使用顺序存储结构来高效地管理学生信息。
最低0.47元/天 解锁文章
——实现学生信息的储存&spm=1001.2101.3001.5002&articleId=128874999&d=1&t=3&u=316f031412a24d30bd587f8dbf0d3b25)
9546

被折叠的 条评论
为什么被折叠?



