#include <stdio.h>
#define LISTZIZE 100//表的长度
typedef int Datatype;//数据类型。起别名。
struct Seqlist//创建顺序表
{
Datatype data [LISTZIZE];//存放所有数据的空间
int nLength;//当前表的长度
};
void init(struct Seqlist *list);
int Lengthlist(struct Seqlist *L);
Datatype *GetNode(struct Seqlist *S,int a);
int Locate(struct Seqlist *l,Datatype x);//表中的元素用dattaype;
void Insert(struct Seqlist *I,int a,int x);//插入节点
int main(int argc, const char * argv[])
{
struct Seqlist arr;
init(&arr);
int len= Lengthlist(&arr);
for (int i=0; i<len; i++)
{
;//处理顺序表。
}
return 0;
}
void init(struct Seqlist *list)//初始化空表。
{
list->nLength=0;
}
int Lengthlist(struct Seqlist *L)//求表长。
{
return L->nLength;
}
Datatype * GetNode(struct Seqlist *S,int a)//取元素函数。
{
if (a>S->nLength-1||a<0)
{
return NULL;
}
else
return &S->data[a];
}
int Locate(struct Seqlist *l,Datatype x)//表中的元素用dattaype;
{
for (int i=0; i<l->nLength; i++)
{
if (x==l->data[i])
{
return i;
}
}
return -1;
}
void Insert(struct Seqlist *I,int a,int x)//插入节点
{
if (a<0||a>I->nLength)//非法位置
{
printf("位置错误");
}
if (I->nLength==LISTZIZE)//表满
{
printf("表区以满");
}
for (int i=I->nLength; i>a; i--)
{
I->data[i]=I->data[i-1];
}
I->data[a]=x;
I->nLength++;//长度加1.
}
void Delete(struct Seqlist *D,int a)//删除一个元素。
{
if (a<0||a>D->nLength)
{
printf("位置错误");
return;
}
for (int i=a; i<D->nLength-1; i++)
{
D->data[i]=D->data[i+1];
}
D->nLength--;
}