【数据结构之顺序表的的表示和实现】

本文介绍了数据结构中的顺序表,包括其定义、特点,详细讲解了顺序表的基本操作如初始化、赋值、打印、插入和删除,并通过代码实现进行演示。虽然顺序表具有随机存取的优点,但在插入或删除时可能需要移动大量元素,这可以通过链式存储结构来优化。文章结尾预告将分享单链表的实现。
摘要由CSDN通过智能技术生成

末尾附完整代码!!!

目录

一、什么是顺序表?

二、顺序表中基本操作的实现

1.预处理及定义顺序表类型:

2.顺序表的初始化

3.顺序表的赋值

4.顺序表的打印

5.顺序表的插入

6.顺序表的删除

7.主函数

8.测试与运行结果

总结:


一、什么是顺序表?

        顺序表是线性表的一种,是指用一组地址连续的存储单元依次存储线性表的数据元素。其特点是,逻辑上相邻的数据元素,其物次序也是相邻的。所以顺序表具有随机存取的性质。

二、顺序表中基本操作的实现

        顺序表中的基本操作有很多取值、赋值、查找、插入、删除、排序、销毁、重置等等。

1.预处理及定义顺序表类型:

#include <stdio.h>
#include <stdlib.h>
#define MAXSIZE 100 //设置顺序表的最大长度为100
#define TRUE 1 
#define FALSE 0
#define OK 1
#define ERROR 0
#define INFEASIBLE -1
#define OVERFLOW -2
typedef int Status;  
typedef char ElemType; 
//定义顺序表类型
typedef struct
{
	ElemType* elem;//此处为静态数组也可使用静态数组ElemType elem[MAXSIZE]代替
	int length;    //用于表示顺序表的长度
}SqList;

2.顺序表的初始化

//线性表的初始化 
Status InitList(SqList &L)            
{
    //构造一个顺序表L
	L.elem = new ElemType[MAXSIZE];   //为顺序表分配一个大小为MAXSIZE的数组空间
	if (!L.elem) exit(OVERFLOW);     //异常处理提高代码的健壮性
	L.length = 0;                   //空表长度为0
	return OK;
}

3.顺序表的赋值

void CreateSqList(SqList* L, int n)   //n为需要创建顺序表的长度
{
	int i = 0;
    //异常处理:
	if (n > MAXSIZE || n < 1)        
	{
		printf("顺序表的长度非法");
	
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值