算法数据结构 顺序表的实现+操作 及对产生问题的分析

本文介绍了线性表的顺序存储结构,即顺序表的概念,指出逻辑上相邻的元素在物理存储中也相邻。讨论了顺序表的模块化设计,包括头文件、结构体定义和函数声明,对相关问题进行了分析。
摘要由CSDN通过智能技术生成

线性表的顺序存储是将线性表中的元素存放在一组连续的存储单元中。使得在线性表中逻辑上相邻的元素在物理存储单元上也是连续的。采用顺序存储的线性表叫做顺序表。



线性表的顺序存储结构如下:


模块化设计:




头文件 结构体和相应函数的定义,声明

#ifndef _SEQLIST_H
#define _SEQLIST_H

#include<iostream>
#include<assert.h>//断言
#include<string.h>
#include<stdlib.h>

using namespace std;

#define ElemType int
#define SEQLIST_DEFAULT_SIZE 10
#define ERROR -1

/*
结构体 用于存贮顺序表基本信息
*/
typedef struct SeqList
{
	ElemType *base;
	size_t    capacity;//顺序表的容量
	size_t    size;
}SeqList;


int begin();//0
int end(SeqList *list);//表尾
void menu();//菜单函数
void InitSeqList(SeqList *list);//初始化函数
bool isempty(SeqList *list);//判断是否 空
bool isfull(SeqList *list);//判断是否 满
bool push_back(SeqList *list, ElemType x);//尾插函数
bool push_front(SeqList *list, ElemType x);//头插函数
bool pop_back(SeqList *list);//尾删函数
bool pop_front(SeqList *list);//头删函数
bool insert_pos(SeqList *list, ElemType key, ElemType x);//位置插入
bool delete_val(SeqList *list, ElemType key);//按值删除
void show(SeqList *list);//显示函数
int find(SeqList *list, ElemType key);//查找函数
//bool delete_val(SeqList *list, ElemType key);
bool delete_pos(SeqList *list, ElemType key);//位置删除
int getvalue(SeqList*list, ElemType key);//获取某位置的值
bool modify(SeqList *list, ElemType key, ElemType x);//修改函数
void clear(SeqList *list);//清空顺序表
void destroy(SeqList *list);//销毁顺序表
int length(SeqList *list);//返回表长度
int next(SeqList *list, ElemTyp
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值