C语言 数据结构顺序表的基本操作(附输入样例和讲解)

本文档详细介绍了使用C语言实现线性表(顺序表)的各种操作,包括创建、销毁、清空、判断表是否为空、获取长度、获取指定位置元素、查找元素、插入元素、删除元素以及遍历所有元素。代码结构清晰,注释详尽,适用于学习数据结构和C语言编程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我的代码参照了严蔚敏、吴伟民编写的数据结构(C语言版)
所有代码采用C语言编写。讲解请查看注释。
*另注:书中很多函数采用了引用传值,如InitList(Sqlist &L)。但C语言并不支持引用传值,因此统一改为地址传值,即InitList(Sqlist *L)。

头文件及宏定义

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
//线性表动态分配存储结构
#define LIST_INIT_SIZE 100//初始分配量 
#define LISTINCREMENT 10//分配增量 
#define OK 1
#define Fail 0 
#define False 0
#define True 1

typedef定义数据类型和结构体

typedef int ElemType;
typedef int Status;

typedef struct{
   
	ElemType* elem;
	int length;//长度 
	int listsize;//存储容量 //长度<=存储容量 
}Sqlist;

InitList(创建)

Status InitList_Sq(Sqlist* L){
   //创建 
//地址方式调用 ,获得传入参数(地址)对应的对象 
L->elem=(ElemType*)malloc(LIST_INIT_SIZE* sizeof(ElemType));//分配内存空间 ,malloc的返回值是一个指针,指向一段可用内存的起始地址
if(!L->elem)exit(OVERFLOW);
L->length=0;
L->listsize=LIST_INIT_SIZE;
return OK;
}

DestroyList(销毁)

Status DestroyList_Sq(Sqlist
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值