【无标题】算法通关村第一关——链表青铜挑战笔记

算法通关村第一关——链表青铜挑战笔记
C语言是如何构造出链表的

  • 0.定义节点结构
    在这里插入图片描述
struct ListNode {
	int val; //代表数据
	struct ListNode *next; //代表指针
};
  • 1.建立头指针
    【无标题】算法通关村第一关——链表青铜挑战笔记_第1张图片
struct ListNode *p = NULL;
  • 2.建立temp指针

【无标题】算法通关村第一关——链表青铜挑战笔记_第2张图片

	struct ListNode *temp = (struct ListNode *)malloc(sizeof(struct ListNode));
	temp->val = 0;
	temp->next = NULL;
  • 3.将节点连起来

  • 3.1 把p指向temp
    【无标题】算法通关村第一关——链表青铜挑战笔记_第3张图片

 			p = temp;
  • 3.2 设立循环节点a+temp指向a+temp变为a
    【无标题】算法通关村第一关——链表青铜挑战笔记_第4张图片
for (i = 1; i < 10; i++) {
   	//创建一个结点
   	struct ListNode *a = (struct ListNode *)malloc(sizeof(struct ListNode));
   	a->val = i;
   	a->next = NULL;
   	//每次 temp 指向的结点就是 a 的直接前驱结点
   	temp->next = a;
   	//temp指向下一个结点(也就是a),为下次添加结点做准备
   	temp = temp->next;
   }
   return p;

你可能感兴趣的:(算法,链表,笔记)