|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include<stdio.h>
#define Maxsize 1000
#define OK 1
#define ERROR 0
typedef int status;
typedef struct{
int cur;//游标;
char data;//数据;
}Comter,StaticLinkList[Maxsize];//其实这个结构体名字是Comter,而 StaticLinkList[Maxsize]只是变量,只是这样表示而已;
int ListLength(StaticLinkList space)
{
int i,k;
i=space[Maxsize-1].cur;
k=space[0].cur-i;
return k;
}
status InitList(StaticLinkList space)
{
int i;
for(i=0;i<Maxsize-1;i++)
space[i].cur=i+1;
space[Maxsize-1].cur=0;
return OK;
}
int SLL(StaticLinkList space)
{
int c;
c=space[0].cur;
if(c)
{
space[0].cur=space[c].cur;
return c;;
}
return ERROR;
}
status ListInsert(StaticLinkList space,int i,char e)
{
int j,k;
int h=Maxsize-1;
if((i<1)||(i>ListLength(space)+1))
{
return ERROR;
}
k=SLL(space);
if(k)
{
space[k].data=e;
for(j=1;j<i-1;j++)
h=space[h].cur;
space[k].cur=space[h].cur;
space[h].cur=k;
space[Maxsize-1].cur=1;
return OK;
}
return ERROR;
}
int main()
{
StaticLinkList a;
int i,j,k;
char e;
for(k=1;;k++)
{
scanf("%c",&e);
scanf("%d",&i);
InitList(a);
SLL(a);
ListInsert(a,i,e);
printf("%c\n",a[i].data);
}
return 0;
} |
|