1.单链表创建
ptr为头指针,指向头结点地址,即该指针变量的值为头结点地址;
mov为一个辅助指针,用于将链表尾节点的指针域next指向新增节点的地址.
search为一个辅助指针,用于遍历链表各节点地址,打印各节点数据;
根据上面思路,创建一个所示单链表,代码如下:
cpp
#include <stdio.h>
#include <stdlib.h>
#define Length 10
typedef 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++;
}
}