实现线性表的抽象数据类型,采用顺序存储结构实现涉及的基本操作,至少实现初始化一个线性表,获取线性表的长度,获取线性表中i位置的一个元素,给线性表中插入一个元素,删除线性表中的某一个元素等操作用C语言实现.并写出代码
时间: 2023-03-15 16:21:06 浏览: 120
C语言: 顺序存储结构线性表基本操作 纯C语言实现
在实现线性表的抽象数据类型时,采用顺序存储结构实现基本操作,用C语言实现可以使用如下代码:#include<stdio.h>
#define maxsize 50
typedef struct{
int data[maxsize];
int last;
}SeqList;
//初始化一个线性表
void InitList(SeqList *L){
L->last=-1;
}
//获取线性表的长度
int ListLength(SeqList *L){
return (L->last+1);
}
//获取线性表中i位置的一个元素
int GetElem(SeqList *L,int i){
if(i<0||i>L->last) return 0;
return(L->data[i]);
}
//给线性表中插入一个元素
void InsertElem(SeqList *L,int i,int e){
int j;
if(L->last==maxsize-1) printf("线性表已满!\n");
else{
if(i<0||i>L->last+1) printf("位置不合法!\n");
else{
for(j=L->last;j>=i;j--){
L->data[j+1]=L->data[j];
}
L->data[i]=e;
L->last++;
}
}
}
//删除线性表中的某一个元素
void DeleteElem(SeqList *L,int i){
int j;
if(i<0||i>L->last) printf("位置不合法!\n");
else{
for(j=i;j<L->last;j++){
L->data[j]=L->data[j+1];
}
L->last--;
}
}
阅读全文