本帖最后由 清尘yt 于 2019-8-16 19:25 编辑 void insertNode(struct Node **head,int value)
{
struct Node *previous,*new,*current;
previous=NULL;
current=*head;
new=(struct Node *)malloc(sizeof(struct Node));
if(new==NULL)
{
printf("内存分配失败!");
exit(1);
}
while(current!=NULL && current->value<value)
{
previous=current;
current=current->next;
}
if(previous==NULL)
{
*head=new;
}
else
{
previous->next=new;
}
new->value=value;
new->next=current;
}
void deleteNode(struct Node **head,int value)
{
struct Node *previous,*current;
current=*head;
previous=NULL;
while(current!=NULL && current->value!=value)
{
previous=current;
current=current->next;
}
if(current==NULL)
{
printf("找不到!\n");
return ;
}
else
{
if(previous==NULL)
{
*head=current->next;
}
else
{
previous->next=current->next;
}
}
free(current);
}
|