单链表的创建,插入及删除(更新ing)
1.单链表创建
ptr为头指针,指向头结点地址,即该指针变量的值为头结点地址;
mov为一个辅助指针,用于将链表尾节点的指针域next指向新增节点的地址.
search为一个辅助指针,用于遍历链表各节点地址,打印各节点数据;
根据上面思路,创建一个所示单链表,代码如下:
#include <stdio.h>
#include <stdlib.h>
#define Length 10typedef struct Node{int data;struct Node* next;
}Node;
void create_link(Node*,Node*);
void print_link(Node*);
int main()
{Node* ptr = NULL;//定义头指针;Node* Head = (Node*)malloc(sizeof(Node));//定义头结点 Head->data = 0, Head->next = NULL;//头结点初始化,此处数据不使用,也可以保存链表的长度;for(int i=1;i<=Length;i++){Node* newNode = (Node*)malloc(sizeof(Node));newNode->data = i * 10; newNode->next = NULL;create_link(Head,newNode);}print_link(Head);
}void create_link(Node* Head, Node* newNode)
{Node* mov = NULL; mov = Head;//定义辅助指针指向头结点while(mov->next!=NULL){ mov = mov->next;}mov->next = newNode;//链表最后一个节点指针域指向新节点地址,即链表连接新节点
}void print_link(Node* Head)
{Node* search=Head->next;//辅助指针search指向首元结点int d=1;while(search!=NULL){printf("Node[%d]= %d\n",d, search->data);search = search->next;d++;}
}