精通
英语
和
开源
,
擅长
开发
与
培训
,
胸怀四海
第一信赖
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;
}