/*
1.已知一个单向链表的头,请写出删除其某一个结点的算法,要求,先找到此结点,然后删除。
*/
slnodetype *delete(slnodetype *head,int key)
{
if(head->number==key)
{
head=pointer->next;
free(pointer);
break;
}
back = pointer;
pointer=pointer->next;
if(pointer->number==key)
{
back->next=pointer->next;
free(pointer);
break;
}
}
void delete(node* p)
{
if(head = node)
while(p)
}
/*
2. 写出程序把一个链表中的接点顺序倒排
*/
typedef struct linknode
{
int data;
struct linknode *next;
}node;
// 将一个链表逆置
node *reverse(node *head)
{
node *p,*q,*r;
p=head;
q=p->next;
while(q!=null)
{
r=q->next;
q->next=p;
p=q;
q=r;
}
head->next=null;
head=p;
return head;
}
/* 3 写出程序删除链表中的所有接点 */
void del_all(node *head)
{
node *p;
while(head!=null)
{
p=head->next;
free(head);
head=p;
}
cout<<"释放空间成功!"<<endl;
}
关于链表的常见考题
最新推荐文章于 2022-11-10 16:59:15 发布