int Insert_SList ( int SL, datatype x, int i ) |
{ |
int p,s; |
p=SL; |
j=0; |
while ( sd[p].next!=-1 && j<i-1 ) |
{p=sd[p].next; j++;} /*找第i-1个结点*/ |
if ( j==i-1 ) |
{ |
if ( AV!=-1 ) /*若AV表还有结点可用*/ |
{ |
t=AV; |
AV=sd[AV].next; /*申请、填装新结点*/ |
sd[t].data=x; |
sd[t].next=sd[p].next; /*插入*/ |
sd[p].next=t; |
return 1; /*正常插入成功返回*/ |
} |
else { printf ( "存储池无结点" ); return 0;} |
/*未申请到结点,插入失败*/ |
else { printf ( "插入的位置错误" ); return -1;} |
/*插入位置不正确,插入失败*/ |
} |
} |