数据结构顺序表的使用

目录

一,什么是数据结构?

二,顺序表的概念和分类

1,线性表

2,顺序表

3,顺序表的分类

三,动态顺序表的增删查改

四,通讯录项目


一,什么是数据结构?

数据结构是计算机存储、组织数据的方式,是指相互之间存在一种或多种特定关系的数组元素的集合。

通过数据结构,可以将数据有效的组织和管理在一起,可以帮助我们更好的实现对数据的增删查改操作。

数组就是一种最基础的数据结构。

二,顺序表的概念和分类

1,线性表

线性表是n个具有相同特性的数据元素的有限序列。线性表就是一种数据结构,常见的线性表有:

顺序表、链表、栈、队列、字符串......

线性表在逻辑结构上是连续的,在物理结构上不一定是连续的。

2,顺序表

顺序表是一种线性表的顺序存储结构。他用一组地址连续的存储单元来依次存储顺序表中的数据元素,使得在逻辑结构上连续的元素在物理结构上也连续。

顺序表在底层上也是数组,不过提供了许多修改数组的操作(增删查改)。

3,顺序表的分类

1,静态顺序表的定义:

struct SepList

{

int arr100; //开辟的定长数组

int size; //顺序表中有效元素的个数

};

2,动态顺序表的定义:

struct SepList

{

int* arr; //动态开辟的数组空间

int size; //顺序表中有效元素的个数

int capaticy; //开辟的空间的大小

};

哪一种顺序表更适合用来存储数据?

静态顺序表的大小是确定的,不能进行更改。

如果开辟的空间过大,就有可能造成大量的空间的浪费。

如果开辟的空间过小,就有可能导致开辟的空间不够使用。

但是如果使用动态顺序表,数组的空间可以进行更改,面对不同情况时,就可以通过调整大小,解决不同的大小问题。

因此相对于静态顺序表,动态顺序表更适合存储数据

三,动态顺序表的增删查改

头文件SepList.h:

源文件Seplist.c:

源文件code.c

四,通讯录项目

通讯录的功能:

1,能够保存用户的信息:姓名、性别、年龄、电话、住址

2,增加联系人的信息

3,删除联系人的信息

4,查找指定联系人

5,修改指定联系人

6,显示指定联系人的信息

通讯录的本质上是顺序表,不过将顺序表中的元素更改为自定义类型的结构体。

故可以在顺序表的基础上进行更改,使之变成通讯录 。

项目代码全过程 :

1,SepList.h :

2,SepList.c

3,Contact.h

4,Contact.c

5,code.c

相关推荐
ss2731 小时前
【入门OJ题解】分苹果问题(Python/Java/C 实现)
java·c语言·python
你怎么知道我是队长1 小时前
CRC校验C语言实现-CRC8、CRC16、CRC16的直接计算法、查表法
c语言·前端·javascript
淘源码d2 小时前
医院专业级PACS系统完整源码(C+VC+MSSQL)
c语言·数据库·sqlserver·源码·pacs系统·医学影像系统
LONGZETECH2 小时前
汽车仿真教学软件技术实现深度解析:从三维建模到学情数据闭环
c语言·3d·unity·架构·汽车
坚果派·白晓明3 小时前
[鸿蒙PC三方库移植适配] 使用 AtomCode + Skills 自动完成Protobuf鸿蒙化适配
c语言·c++·华为·harmonyos
SoftLipaRZC3 小时前
C语言预处理详解:从宏定义到条件编译
c语言·开发语言
Legendary_0084 小时前
18-30W 便携照明设备 USB-C PD 升级:选型与设计要点
c语言·开发语言
caimouse4 小时前
mshtml/nsio.c 实现报告
c语言·开发语言
weixin_467182284 小时前
Arduino进阶二|自定义类库保姆级教程(从零手写属于自己的传感器类库+完整源码)
c语言·c++·单片机·嵌入式硬件·arduino·c++面向对象·diy库文件
玖玥拾5 小时前
C/C++ 基础笔记(八)
c语言·c++