#include
#include
#include
#define maxsize 10
typedef int datatype;
typedef struct
{
int data[maxsize];
int last;
}sqlist, *sqlink;
int Empty(sqlink L);
sqlink CreateEmptyList();
void CreateEmptyList2(sqlink *pL);
void ClearList(sqlink L);
int Length(sqlink L);
int Locate(sqlink L, int x);
int GetList(sqlink L, int pos, int *x);
int Insert(sqlink L, int x, int pos);
int Delete(sqlink L, int pos);
int main(int argc, char *argv[])
{
int i;
int value;
sqlink L, L2;
L = CreateEmptyList();
CreateEmptyList2(&L2);
printf("L2 %d data: \n", Length(L2));
Insert(L,0,0);
Insert(L,1,1);
Insert(L,2,2);
Delete(L,5);
Delete(L,1);
ClearList(L);
Insert(L,5,0);
Insert(L,4,0);
Insert(L,3,0);
Insert(L,2,0);
Insert(L,1,0);
Insert(L,0,0);
printf("L %d data: \n", Length(L));
for(i=0;i<=L->last;i++)
{
printf("%d ", L->data[i]);
}
printf("\n");
if(!GetList(L, 2, &value))
{
printf("L the 2nd value is %d\n",value);
}
Insert(L2,0,0);
Insert(L2,1,1);
Insert(L2,2,2);
printf("L2 %d data: \n", Length(L2));
for(i=0;i<=L2->last;i++)
{
printf("%d ", L2->data[i]);
}
printf("\n");
return 0;
}
int Empty(sqlink L)
{
if(-1 == L->last)
{
return 0;
}
return 1;
}
sqlink CreateEmptyList()
{
sqlink L;
L = (sqlink)malloc(sizeof(sqlist));
L->last = -1;
return L;
}
void CreateEmptyList2(sqlink *pL)
{
*pL = (sqlink)malloc(sizeof(sqlist));
(*pL)->last = -1;
}
void ClearList(sqlink L)
{
L->last = -1;
}
int Length(sqlink L)
{
return L->last + 1;
}
int Locate(sqlink L, int x)
{
int i;
for(i = 0; i <= L->last; i++)
{
if(x == L->data[i])
{
return i;
}
}
return -1;
}
int GetList(sqlink L, int pos, int *x)
{
if((pos > L->last)||(pos < 0))
{
return -1;
}
*x = L->data[pos];
return 0;
}
int Insert(sqlink L, int x, int pos)
{
int i;
if((pos < 0)||(pos > L->last + 1)||(maxsize == L->last + 1))
{
return 1;
}
for(i = L->last + 1;i > pos;i--)
{
L->data[i]=L->data[i-1];
}
L->data[pos] = x;
(L->last)++;
return 0;
}
int Delete(sqlink L, int pos)
{
int i;
if((pos < 0)||(pos > L->last))
{
return 1;
}
for(i = pos;i < L->last + 1;i++)
{
L->data[i] = L->data[i+1];
}
(L->last)--;
return 0;
}
阅读(2096) | 评论(0) | 转发(0) |