#include "stdio.h"
#include "stdlib.h"
#include "string"
#define maxSize 100
//顺序表的相关操作
//1.顺序表的定义
typedef struct
{
int data[maxSize];
int length;
}sqlist;
//2.顺序表常用定义
int A[maxSize];
int n;//长度
//3.顺序表的增删改查和初始化五个基本操作
int initList(sqlist &L)
{
L.length=0;
}
//查找顺序表中值为e的元素,并返回其地址,若查找失败返回-1
int findElem(sqlist L, int e)
{
for(int i=0;i<L.length-1;i++)
if(e==L.data[i])
return i;
return -1;
}
//在顺序表中p位置插入元素e,则原来p位置和之后的元素都后移一个位置
int insertElem(sqlist &L,int p,int e)
{
if (p<0||p>L.length||L.length>maxSize)
return 0;
for(int i=L.length-1;i>=p;i--)
L.data[i+1]=L.data[i];
L.data[p]=e;
++(L.length);
return 1;
}
//删除顺序表中p位置元素,并将删除元素赋给e
int deleteElem(sqlist &L,int &e,int p)
{
if(p<0||p>L.length-1)//错误L.length-1
return 0;
e=L.data[p];
for(int i=p;i<L.length-1;i++)
L.data[i]=L.data[i+1];
--(L.length);
return 1;
}
//查找p位置的值并赋给e
int getElem(sqlist L,int p,int &e)
{
if(p<0||p>L.length-1)//错误L.length-1
return 0;
e=L.data[p];
return 1;
}
网友评论