前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【通讯录项目 (1 / 3)】基于顺序表的通讯录实现——顺序表介绍

【通讯录项目 (1 / 3)】基于顺序表的通讯录实现——顺序表介绍

作者头像
叫我龙翔
发布2024-01-30 13:56:29
1600
发布2024-01-30 13:56:29
举报
文章被收录于专栏:就业 C++ 综合学习

基于顺序表的通讯录实现——顺序表介绍

文章目录
  • 基于顺序表的通讯录实现——顺序表介绍
    • 1.1 数据结构
      • 1.1.1什么是数据?
      • 1.1.2什么是结构?
      • 概念 :数据结构是计算机存储、组织数据的⽅式。数据结构是指相互之间存在⼀种或多种特定关系的数据元素的集合。
    • 1.2 为什么需要数据结构
      • 1.2.1概念引入
      • 1.2.1数据结构类型
    • 1.3顺序表
      • 1.3.1概念及结构
      • 1.3.2顺序表分类
        • 静态顺序表
        • 动态顺序表
      • 1.3.3顺序表实现
    • 下一篇文章将详细介绍顺序表的具体操作实现

1.1 数据结构

数据结构由“数据”与“结构”组合而来。

1.1.1什么是数据?

常⻅的数值1、2、3、4…、教务系统⾥保存的⽤⼾信息(姓名、性别、年龄、学历等 等)、⽹⻚⾥⾁眼可以看到的信息(⽂字、图⽚、视频等等),这些都是数据

1.1.2什么是结构?

当我们想要使⽤⼤量使⽤同⼀类型的数据时,通过⼿动定义⼤量的独⽴的变量对于程序来说,可读性⾮常差,我们可以借助数组这样的数据结构将⼤量的数据组织在⼀起,结构也可以理解为组织数据的⽅式。想要找到草原上名叫“咩咩”的⽺很难,但是从⽺圈⾥找到1号⽺就很简单,⽺圈这样的结构有效将⽺群组织起来。

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

数据结构反映数据的内部构成,即数据由那部分构成,以什么⽅式构成,以及数据元素之间呈现的结构。

总结 1)能够存储数据(如顺序表、链表等结构) 2)存储的数据能够⽅便查找

1.2 为什么需要数据结构

1.2.1概念引入

想象一下餐厅不借助排队的⽅式来管理客⼾,会导致客⼾就餐感受差、等餐时间⻓、餐厅营业混乱等情况。 同理,程序中如果不对数据进⾏管理,可能会导致数据丢失、操作数据困难、野指针等情况。通过数据结构,能够有效将数据组织和管理在⼀起。按照我们的⽅式任意对数据进⾏增删改查等操作。

1.2.1数据结构类型

最基础的数据结构:数组。 假定数组有10个空间,已经使⽤了5个,向数组中插⼊数据步骤: 求数组的⻓度,求数组的有效数据个数,向下标为数据有效个数的位置插⼊数据(注意:这⾥是否要判断数组是否满了,满了还能继续插⼊吗)?… 假设数据量⾮常庞⼤,频繁的获取数组有效数据个数会影响程序执⾏效率。 结论:最基础的数据结构能够提供的操作已经不能完全满⾜复杂算法实现 所以我们将介绍顺序表。

1.3顺序表

1.3.1概念及结构

顺序表是一种线性表, 线性表(linear list)是n个具有相同特性的数据元素的有限序列。 线性表是⼀种在实际中⼴泛使⽤的数据结构,常⻅的线性表:顺序表、链表、栈、队列、字符串… 线性表在逻辑上是线性结构,也就说是连续的⼀条直线。但是在物理结构上并不⼀定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。

1.3.2顺序表分类

顺序表的底层逻辑是数组。并在数组基础上增添了增删改查窗口。

静态顺序表
代码语言:javascript
复制
typedef int SLDataType;
#define N 7
typedef struct SeqList
{
    SLDataType a[N];
    int size;
}

上面是静态顺序表的写法,给予解释

在这里插入图片描述
在这里插入图片描述

很好理解,不在说明了

动态顺序表
代码语言:javascript
复制
typedef int SLDataType;
typedef struct SeqList
{
    SLDataType* a;
    int size;
    int capacity;
}

解释如下:

在这里插入图片描述
在这里插入图片描述
1.3.3顺序表实现

下面是顺序表的全部功能

在这里插入图片描述
在这里插入图片描述

其中大部分操作是基于数组操作进行的,会使用for循环,结构体及其操作等内容。 总的来说顺序表的实现是十分有价值的,可以为其他项目提供底层逻辑。

下一篇文章将详细介绍顺序表的具体操作实现

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-01-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 基于顺序表的通讯录实现——顺序表介绍
    • 文章目录
      • 1.1 数据结构
        • 1.1.1什么是数据?
        • 1.1.2什么是结构?
        • 概念 :数据结构是计算机存储、组织数据的⽅式。数据结构是指相互之间存在⼀种或多种特定关系的数据元素的集合。
      • 1.2 为什么需要数据结构
        • 1.2.1概念引入
        • 1.2.1数据结构类型
      • 1.3顺序表
        • 1.3.1概念及结构
        • 1.3.2顺序表分类
        • 1.3.3顺序表实现
      • 下一篇文章将详细介绍顺序表的具体操作实现
      相关产品与服务
      对象存储
      对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档