```cpp
#include
#include
using namespace std;
#define OVERFLOW -2
#define FALSE 0
#define TRUE 1
#define MAXSIZE 10
#define OK 1
// 线性表
typedef struct List{
float *elem; // 此处数据类型可自己定义,可用结构体等 *num或num[]都可
int len;
}List;
// 初始化一个自定长度的线性表
void initList(List &l, int n){
l.elem = new float[n]; // malloc()
if(!l.elem)exit(OVERFLOW);
l.len = 0;
}
// 销毁线性表
void destroyList(List &l){
if(l.elem) delete l.elem;
}
// 清空线性表
void clearList(List &l){
l.len = 0;
}
// 获取线性表长度
int getLength(List &l){
return l.len;
}
// 判读线性表是否为空
int isEmpty(List &l){
return l.len>0?FALSE:TRUE;
}
// 顺序表的取值
float getElem(List &l, int n){
if(n<1||n>l.len){
return 0;
}
return l.elem[n-1];
}
// 定位元素位置
int locatElem(List &l, float elem){
int len = l.len;
for(int i=0;il.len)return 0;
for(int i=l.len;i>n-1;--i)
{
l.elem[i] = l.elem[i-1];
}
l.elem[n-1] = elem;
l.len++;
return OK;
}
// 顺序表的删除
int delElem(List &l, int n){
if(n<1||n>l.len)return 0;
for(int i=n;i