#include<stdio.h>
#include<stdlib.h>
typedef char ElemType;
#define MAXSIZE 10
typedef struct{
ElemType *elem;//指向线性表的基地址
int uLength;
int uListSize;
}SqList;
//要动态分配与释放
//初始化:可读性变好
bool InitList(SqList &L,unsigned int uListSize){
if(uListSize<=0) return false;
L.elem=(ElemType*)malloc(sizeof(ElemType)*uListSize);//指针指向数据存储的空间
//指针两种初始化的方式:1.malloc分配空间
//2.指针是ElemType类型,使用ElemType类型的变量或数组的存储空间赋值
if(!L.elem) return false;//!L.elem的意思是空指针
L.uLength=0;
L.uListSize=uListSize;
return true;
}
//销毁线性表
void DestroyList(SqList &L)
{
if(L.elem) free(L.elem);
L.elem=NULL;
}
//求线性表的长度
int ListLength(SqList L)
{
return(L.uLength);
}
//4.按位置取表中某个元素
bool GetElem(SqList L, int i, ElemType &e)
{
if(i<1||i>L.uLength) return false;
e=L.elem[i-1];
return true;
}
//5.插入操作,在i位置之前插入e
bool ListInsert(SqList &L, int nPos, ElemType e)
{
if(nPos<1||nPos>L.uLength+1)
return fals
浅浅实现一下C语言顺序表吧
最新推荐文章于 2024-09-10 21:54:53 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)