#include<stdio.h>
#include"SequnenceList.h"
#include<stdlib.h>
int InitSequence(List *l)
{
l->data=(DataType *)malloc (sizeof(DataType)*SIZE);
if(NULL== l-> data)
{
return FAILURE;
}
l->length=0;
return SUCCESS;
}
int EmptySequen(List l)
{
if(0==l.length)
{
return SUCCESS;
}
else
{
return FAILURE;
}
}
int InsertSequnence(List *l,int p, DataType e)
{
int i;
if(NULL==l)
{
return FAILURE;
}
if(p<=0||p>(l->length)||l->length>=SIZE)
{
return FAILURE;
}
for(i=0; i< l->length -p +1; i++)
{
l->data[l->length-i]=l->data[l ->length -i -1];
}
l ->data[p-1] =e;
l ->length ++;
return SUCCESS;
}
int TraverseSequnence(List l)
int i;
for(i=0;i<l.length; i++)
{
printf("%d",*(l.data+i));
}
printf("\n");
return SUCCESS;
}
int GetElem(List l, int p,DataType *e)
{
if(p<=0||p>l.length)
}
*e = * (l.data + p -1);
return SUCCESS;
}
int LengthSequence(List l)
{
return l.length;
}
int LocateSequence(List l, DataType e)
{
int i;
for(i = 0; i < l.length; i++)
{
if(e == l.data[i])
{
return i + 1;
}
}
return FAILURE;
}
int DeleteSequence(List *l, int p, DataType *e)
{
int i;
if(NULL == l || p <= 0 || p > l-> length)
{
return FAILURE;
}
*e = l -> data[p - 1];
for(i = 0; i < l -> length - p;i++)
{
l -> data[p - 1 + i] = l ->data[p + i];
}
l -> length--;
return SUCCESS;
}
int ClearSequence (List *l)
{
l -> length = 0;
return SUCCESS;
}
int DestorySequence(List *l)
{
free(l -> data);
l -> data = NULL;
return SUCCESS;
}