#include<stdio.h>
#include<stdlib.h>
#define MAXSIZE 100 //最大空间
typedef struct{
int Data[MAXSIZE];
int Last; //当前长度,最后一个元素位置
}List;
List L,*PtrL;
//建空表
List *MakeEmpty(){
List *PtrL;
PtrL=(List*)malloc(sizeof(List));
PtrL->Last=-1; //因为是空的表,所以为-1,从0开始的
return PtrL;
}
//在第i个位置插入x
void Insert(int x,int i,List *PtrL){
if(PtrL->Last==MAXSIZE-1){ //判断表还有没有空间了
printf("表已满");
return;
}
if(i<1||i>PtrL->Last+1){
printf("位置不合法");
return;
}
for(int j=PtrL->Last;j>=i-1;j--){ //把从第i个位置开始 以后的数据后移
PtrL->Data[j+1]=PtrL->Data[j];
}
PtrL->Data[i-1]=x; //数组从0开始,所以i-1
PtrL->Last++; //last仍指向新的最后一个元素位置
return;
}
//删除第i个位置元素
void Delete(int i,List *PtrL){
int j;
if(i<1||i>PtrL->Last+1){
printf("不存在第%d个元素",i);
return;
}
for(j=i;j<=PtrL->Last+1;j+
C语言实现线性表的顺序存储
最新推荐文章于 2024-08-21 17:06:07 发布
本文展示了如何使用C语言实现线性表的顺序存储结构,包括创建空表、在指定位置插入元素和删除元素。代码示例中详细说明了每个操作的过程,并在主函数中进行了实际操作,用于学习参考。
摘要由CSDN通过智能技术生成