当前位置:首页 > 经验 >

单链表怎么加结点(单循环链表有头节点吗)

来源:原点资讯(www.yd166.com)时间:2022-11-04 00:36:18作者:YD166手机阅读>>

链表是由节点组成的,节点中包含:数据域和指针域

头指针(★):头指针的类型是struct Node *类型,指向链表的第一个节点。

链表中存储节点的内存地址是随机,我们只能依靠头指针 head->next.....->next来一个一个找到节点和遍历节点。

示例:①创建一个没有头节点的链表,用头部插入的方式插入一个节点

②用户输入链表的数据,并可以打印出链表的数据

头指针head定义成全局变量,在程序中任何地方都能访问

typedef struct node{ int data; struct node *pNext; }Node; Node * head;//全局变量,存储在数据段

用函数创建一个节点:

Node * Create_Node(int value) { Node *temp = (Node*)malloc(sizeof(Node));//申请堆内存 if(NULL == temp){ printf("malloc error!\n");//检验堆内存是否分配成功 return NULL; } memset(temp,'\0',sizeof(Node));//堆内存初始化 temp->data = value; temp->pNext = NULL; return temp; }

用头部插入的方式插入一个节点

1.链表为空时

Node* temp = Create_Node(int value); temp->data = value; temp->next = NULL; head = temp;

2.链表不为空

temp->data = value; temp ->next = head; head = temp;

单链表怎么加结点,单循环链表有头节点吗(1)

由于最开始全局变量head=NULL,第二种情况可以包含第一种状况。

插入节点的函数

void Insert_Beginning(int value) { Node* temp = Create_Node(value); temp->data = value; temp->pNext = head; head =temp; }

打印出列表中的数据

void PrintList() { Node *temp = head; printf("-----链表数据-----\n"); while(NULL != temp) { printf("%d ",temp->data); temp = temp->pNext; } printf("\n"); }

main函数

int main() { int n,x,i; printf("请输入链表共有多少条数据: \n"); scanf("%d",&n); for(i = 0 ;i<n;i ) { printf("请输入节点的数据: \n"); scanf("%d",&x); Insert_Beginning(x); PrintList(); } return 0; }

栏目热文

单链表查找最大值(单链表按序查找思路)

单链表查找最大值(单链表按序查找思路)

一、序本文继续給大家带来一道和单链表相关的算法题。之前聊到,如何对单链表是否存在环进行检测,今天再来聊聊这个问题的进阶的...

2022-11-03 23:58:26查看全文 >>

单链表的插入结点图解(链表结点交换图解)

单链表的插入结点图解(链表结点交换图解)

单链表的删除和插入操作是线性表中比较重要的一部分,而这些操作又是线性表中的难点,同时也是考试的重点。对于初学者来说,在看...

2022-11-03 23:58:47查看全文 >>

单链表尾指针示意图(链表的节点图解)

单链表尾指针示意图(链表的节点图解)

作者:少年吉来源:微信公众号: 数据科学CLUB出处:https://mp.weixin.qq.com/s?__biz=...

2022-11-04 00:10:17查看全文 >>

单链表查找图示(三链表结构图解)

单链表查找图示(三链表结构图解)

电子计算机的本质是对输入(input)的数据进行处理(processing),对处理的结果形成输出(output)。程序...

2022-11-04 00:06:55查看全文 >>

单链表按序号查找(单链表按值查找操作)

单链表按序号查找(单链表按值查找操作)

严蔚敏《数据结构》笔记(1-4章)由于上传限制只能分章节上传,并且图片和公式可能无法上传出现乱码影响阅读。需要完整资料的...

2022-11-04 00:44:17查看全文 >>

单链表查找原理(有序单链表查找方法)

单链表查找原理(有序单链表查找方法)

链表是线性表的链式存储结构,与数组不同的是,它是用一组任意的存储单元来存储线性表中的数据,存储单元不一定是连续的;链表的...

2022-11-04 00:11:15查看全文 >>

单链表算法详解(单链表的创建图解)

单链表算法详解(单链表的创建图解)

单链表结点定义以及操作函数声明我们知道在C语言里数组可以存储大量相同数据类型的数据,但是数组有个很明显的缺点就是大小固定...

2022-11-04 00:22:18查看全文 >>

链表表示队列图解(认识链表结构图解)

链表表示队列图解(认识链表结构图解)

表示形式队列的链表形式与单链表类似,只不过多了两个结点来保存首位结点一,关于链栈的结构体表示结构体定义第一种定义方法st...

2022-11-04 00:01:30查看全文 >>

q5l45tfsi变速箱型号(q5l40和45变速箱型号)

q5l45tfsi变速箱型号(q5l40和45变速箱型号)

奥迪Q5L有6款配置,动力上分为高功率版2.0T和低功率版2.0T两种,其中高功率版2.0T有4款车型,售价区间46.6...

2022-11-04 00:15:10查看全文 >>

奥迪q5l变速箱型号(奥迪q5l有没有quattro)

奥迪q5l变速箱型号(奥迪q5l有没有quattro)

全新奥迪Q5L的上市可谓惊艳众人,它获得了令所有竞争对手都望尘莫及的关注度。然而,正所谓树大招风,越是优秀的人,其争议就...

2022-11-04 00:41:43查看全文 >>

文档排行