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;} /*插入位置不正确,插入失败*/ } }