 
   精通
英语
和
开源
,
擅长
开发
与
培训
,
胸怀四海
第一信赖
9、请独立写一个链表建立的代码。可以参考源代码后理解掌握后再写 
解: Status  Linkelem(Linklist &L, int i , Elem e)
{
Linklist p, int  j ;
p=L ; j=1;
while  (p&&j<i)
{
p=p->next;
j++;
}
if ( !p && j>i)  return false;
e=s->data; return ok;
}
10、请默写链表插入节点的过程!文字说明。 
              解:第一步:创建插入结点,首先分配一个结点空间,用指针po指向并开始初始化数据,则po为要插入的结点; 
              第二步:找到相应的插入位置。 
              11、请独立写一个链表插入的代码。可以参考源代码后理解掌握后再写。 
              解:    Status Linklistinsert( Link &L, int i ,  Elem e)
              {
              Linklist p ; int j=0;
              P=L;
              while ( p && j<i)
              {
              P=p->next; j++;
              }
              if (!p && j>i)
              return false;
              s=(linklist)malloc(sizef (Lnode))
              s->data=e ,s->next= p->next,  p->next=s;
              return ok;}
              12、请默写链表删除节点的过程!文字说明。 
              解:如果删除的结点是第一个,则只需要head=p->next,然后释放freep; 
              若果删除的不是第一个节点,则只需要p->next=p1->next,后面在释放free p1.
              13、请独立写一个链表删除节点的代码。可以参考源代码后理解掌握后再写。 
              解: Status  Linklistdelete (Linklist &L , int i, Elem  e)
              {
              LInklist p , int j=0;
              P=L;
              while (p&& j<i)
              {  p  =->next; j++; }
              if(!p&& i>j)
              return false;
              q=p->next ;
              p->next=q->next;
              e=q->data;
              free(q);
              return ok;
              }