数据结构— —顺序表(静态分配、动态分配)

本文详细介绍了线性表的顺序存储结构,包括静态分配和动态分配两种实现方式。静态分配通过固定大小的数组实现,未初始化的数据可能会导致意外结果。动态分配则允许数组大小变化,利用malloc和free进行内存管理。顺序表的特点包括随机访问、存储密度高,但插入删除操作不便且拓展性有限。
摘要由CSDN通过智能技术生成

1.线性表存储/物理结构

1)顺序表(顺序存储结构)
定义: 顺序存储方式的线性表。
逻辑上相邻的元素存储在物理上也相邻的存储单元中,元素间关系由存储的邻接关系体现。
基本操作的实现:
2)链表(链式存储)

2.顺序表的实现— —静态分配

在这里插入图片描述

  • 静态数组的特点:大小长度一旦确定,不能改变。
  • 声明 data 数组时,会在内存中开辟一整片连续的存储空间,空间大小为MaxSize*sizeof(int) 。对于本次来说,大小为10 * 4B

简单小代码:

#include <stdio.h>
#define MaxSize 10  //定义最大长度
typedef struct{
   
    int data[MaxSize];   //静态数组存放数据
    int length;          //顺序表的当前长度
}SqList;//顺序表的类型定义

//基本操作之初始化一个顺序表
void InitList(SqList &L)
{
   
    for(int i=
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值