#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
//1.静态链表
///节点的声明
struct LinkNode
{
int num;//数据域
struct LinkNode *next;
};
void test01(){
//创建节点
struct LinkNode node1 = {10,NULL};
struct LinkNode node2 = {20,NULL};
struct LinkNode node3 = {30,NULL};
struct LinkNode node4 = {40,NULL};
struct LinkNode node5 = {50,NULL};
//建立关系
node1.next = &node2;
node2.next = &node3;
node3.next = &node4;
node4.next = &node5;
node5.next = NULL;
//遍历链表
//创建一个指针 指向第一个节点
struct LinkNode *pCurrent = &node1;
while (pCurrent!=NULL)
{
printf("%d\n",pCurrent->num);
pCurrent = pCurrent->next;
}
}
//2.动态链表
void test02(){
struct LinkNode *node1 = malloc(sizeof(struct LinkNode));
struct LinkNode *node2 = malloc(sizeof(struct LinkNode));
struct LinkNode *node3 = malloc(sizeof(struct LinkNode));
struct LinkNode *node4 = malloc(sizeof(struct LinkNode));
struct LinkNode *node5 = malloc(sizeof(struct LinkNode));
node1->num = 10;
node2->num = 20;
node3->num = 30;
node4->num = 40;
node5->num = 50;
//建立关系
node1->next = node2;
node2->next = node3;
node3->next = node4;
node4->next = node5;
node5->next = NULL;
//遍历链表
struct LinkNode * pCurrent = node1;
while (pCurrent!=NULL)
{
printf("%d \n",pCurrent->num);
pCurrent = pCurrent->next;
}
free(node1);
free(node2);
free(node3);
free(node4);
free(node5);
}
int main()
{
// test01();
test02();
}