静的および動的リスト一覧

#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();
}

 

公開された122元の記事 ウォン称賛58 ビュー40000 +

おすすめ

転載: blog.csdn.net/qq_39112646/article/details/103058795