#include <stdio.h>
struct Test
{
int data;
struct Test *next;
};
void printLink(struct Test *head)
{
struct Test *p;
p = head;
while(p != NULL){
printf("data = %d\n",p->data);
p = p->next;
}
printf("------------------\n");
}
struct Test *insertFromfor(struct Test *head,struct Test *new,int data2)
{
if(head->data == data2){
new->next = head;
head = new;
return head;
}
while(head->next != NULL){
if(head->next->data == data2){
new->next = head->next;
head->next = new;
return head;
}
head = head->next;
}
printf("do find data\n");
return head;
}
struct Test *deleteNode(struct Test *head,int data2)
{
if(head->data == data2){
head = head->next;
return head;
}
while(head->next != NULL){
if(head->next->data == data2){
head->next = head->next->next;
return head;
}
head = head->next;
}
printf("do find data\n");
}
int main()
{
struct Test t1 = {1,NULL};
struct Test t2 = {2,NULL};
struct Test t3 = {3,NULL};
struct Test t4 = {4,NULL};
struct Test t = {100,NULL};
t1.next = &t2;
t2.next = &t3;
t3.next = &t4;
struct Test *head = &t1;
printLink(head);
head = deleteNode(head,5);
printLink(head);
return 0;
}
线性表----单链表删除指定节点
最新推荐文章于 2024-06-29 01:13:46 发布