【C语言】实现顺序表的增、删、查、改

在实现顺序表之前先来了解几个概念。

1、线性表

n(n>=0)个数据元素组成的一个有限序列,可以在其任何位置上进行插入和删除操作的线性数据结构。

从数据在物理内存存储形式上线性表可分为:顺序表和链表。


由上图可看出:

线性表中数据与数据之间存在一对一的关系,即除第一个元素和最后一个元素外,每个元素都有唯一的直接前驱和唯一的直接后继,第一个元素没有前驱,最后一个元素没有后继。

2、顺序表

用一段地址连续的存储单元依次存储数据元素的线性结构。

地址连续的空间,一般情况下采用数组,数组有静态数组和动态数组,顺序表也分静态顺序表和动态顺序表。

3、顺序表的实现

以下先实现静态顺序表的增删查改。

seqlist.h

首先,保证编译一次,需要添加下面代码;

#pragma once

创建结构体

#define SeqListMaxSize 1000   //定义宏,方便后续更改顺序表元素大小

typedef char SeqListType;
typedef struct seqlist
{
	SeqListType data[SeqListMaxSize];
	size_t size; //线性表中的有效元素
}SeqList;

这里需要注意一点,size_t占几个字节?

(1)在32位操作系统中,占4个字节;

(2)在64位操作系统中,占8个字节;

下面开始实现具体的功能函数,需要注意的就是函数的命名,以下使用的函数功能名称,是约定俗成的,以后看到这类函数名,功能也是类似的。

void SeqListInit ( SeqList * seqlist );//初始化
void SeqListPushBack(SeqList * seqlist, SeqListType value);//往顺序表尾部插入value元素
void SeqListPopBack(SeqList *seqlist);//尾删
void SeqListPushFront(SeqList *seqlist,SeqListType value);//头插
void SeqListPopFront(SeqList *seqlist);//头删	
void SeqListInsert(SeqList *seqlist, size_t pos, SeqListType value);//在pos位置插入va
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值