#include<stdio.h>
#define Maxroom 100
typedef struct User_type
{
}User_type;
typedef struct cursor
{
User_type data;
int cur;
}cursor;
//初始化
void initList(cursor *List);
//插入
void insertList(cursor *List,int Index,User_type data);
//删除
void deletList(cursor *List,int Index);
void deletList(cursor *List,int Index)
{
int i;
if(Index>=List[0].cur||Index<1)
{
printf("error");
}
else
{
if(Index>1)
{
List[Index-1].cur=List[Index].cur;
}
else
{
List[Maxroom-1].cur=List[Index].cur;
}
}
}
void initList(cursor *List)
{
int i;
for(i=0;i<Maxroom-1;i++)
{
List[i].cur=i+1;
}
}
void insertList(cursor *List,int Index,User_type data)
{
int i;
if(Index<Maxroom&&Index>0&&Index<List[0].cur)
{
List[List[0].cur].data=data;
if(Index>1)
{
List[List[0].cur].cur=List[Index-1].cur;
List[Index-1].cur=List[0].cur;
List[0].cur++;
}
else if(Index==1)
{
List[List[0].cur].cur=List[Maxroom-1].cur;
List[Maxroom-1].cur=List[0].cur;
List[0].cur++;
}
}
else
{
printf("error");
}
}
int main()
{
cursor List[Maxroom];
}
#define Maxroom 100
typedef struct User_type
{
}User_type;
typedef struct cursor
{
User_type data;
int cur;
}cursor;
//初始化
void initList(cursor *List);
//插入
void insertList(cursor *List,int Index,User_type data);
//删除
void deletList(cursor *List,int Index);
void deletList(cursor *List,int Index)
{
int i;
if(Index>=List[0].cur||Index<1)
{
printf("error");
}
else
{
if(Index>1)
{
List[Index-1].cur=List[Index].cur;
}
else
{
List[Maxroom-1].cur=List[Index].cur;
}
}
}
void initList(cursor *List)
{
int i;
for(i=0;i<Maxroom-1;i++)
{
List[i].cur=i+1;
}
}
void insertList(cursor *List,int Index,User_type data)
{
int i;
if(Index<Maxroom&&Index>0&&Index<List[0].cur)
{
List[List[0].cur].data=data;
if(Index>1)
{
List[List[0].cur].cur=List[Index-1].cur;
List[Index-1].cur=List[0].cur;
List[0].cur++;
}
else if(Index==1)
{
List[List[0].cur].cur=List[Maxroom-1].cur;
List[Maxroom-1].cur=List[0].cur;
List[0].cur++;
}
}
else
{
printf("error");
}
}
int main()
{
cursor List[Maxroom];
}