当前位置: 首页 > news >正文

河南网站建设工作室和县建设局网站

河南网站建设工作室,和县建设局网站,西安有没有网站建设和营销的培训,宁波网页设计制作公司其实网上有好多关于单链表理解#xff0c;其实知乎上有一篇写的很好#xff0c;利用图形与代码结合#xff0c;我觉得写的很好#xff0c;大家也可以去查一下#xff0c;每个人都有自己的想法与理解#xff0c;这里主要看单链表概念#xff0c;应用场景#xff0c;举例…        其实网上有好多关于单链表理解其实知乎上有一篇写的很好利用图形与代码结合我觉得写的很好大家也可以去查一下每个人都有自己的想法与理解这里主要看单链表概念应用场景举例。 单链表概念 单链表是一种线性数据结构它由一系列节点组成每个节点包含一个数据元素和一个指向下一个节点的指针。单链表只能从头到尾进行遍历从头节点开始沿着每个节点的指针逐个访问节点直到到达最后一个节点。 在单链表中头节点是第一个节点它指向链表的第一个元素。最后一个节点称为尾节点它没有指向其他节点的指针。 每个节点包含两个部分数据部分和指针部分。数据部分存储实际的数据值而指针部分存储下一个节点的地址。 以下是单链表的一些基本操作 插入向链表的头部或尾部插入新节点。 删除从链表中删除一个节点。 遍历从头节点开始逐个访问链表中的所有节点。 查找在链表中查找特定值的节点。 单链表的主要优点是它们可以动态地调整大小因为可以在任何位置插入或删除节点。然而单链表也有一些缺点例如它们需要更多的内存来存储指针并且访问链表中的元素可能需要更多的时间因为需要从头节点开始逐个访问节点。 单链表适合哪些场景 需要动态调整数据结构大小的场景单链表可以动态地添加或删除节点因此适用于需要经常修改数据结构大小的场景。 需要频繁进行插入和删除操作的场景单链表在插入和删除节点时不需要移动其他节点因此适用于需要进行频繁插入和删除操作的场景。 需要按顺序访问数据元素的场景单链表可以按顺序访问链表中的节点因此适用于需要按顺序访问数据元素的场景。 需要注意的是单链表不支持随机访问因此如果需要随机访问数据元素的场景可能需要使用其他数据结构如数组或哈希表。 单链表的C语言代码示例包括链表的创建、插入、删除、遍历和查找等基本操作 #include stdio.h #include stdlib.h // 定义链表节点结构体 struct Node { int data; struct Node* next; }; // 创建链表节点 struct Node* createNode(int data) { struct Node* newNode (struct Node*)malloc(sizeof(struct Node)); newNode-data data; newNode-next NULL; return newNode; } // 在链表头部插入节点 void insertNode(struct Node** head, int data) { struct Node* newNode createNode(data); newNode-next *head; *head newNode; } // 在链表中删除指定节点 void deleteNode(struct Node** head, int data) { if (*head NULL) { return; } if ((*head)-data data) { *head (*head)-next; return; } struct Node* current *head; while (current-next ! NULL current-next-data ! data) { current current-next; } if (current-next ! NULL) { current-next current-next-next; } } // 遍历链表并输出节点值 void printList(struct Node* head) { while (head ! NULL) { printf(%d , head-data); head head-next; } printf(\n); } // 在链表中查找指定节点并返回其位置若不存在则返回-1 int findNode(struct Node* head, int data) { int position 1; while (head ! NULL) { if (head-data data) { return position; } position; head head-next; } return -1; } int main() { struct Node* head NULL; // 初始化链表头指针为空指针 insertNode(head, 3); // 在链表头部插入节点3 insertNode(head, 2); // 在链表头部插入节点2 insertNode(head, 1); // 在链表头部插入节点1 printList(head); // 输出链表1 2 3 deleteNode(head, 2); // 删除节点2 printList(head); // 输出链表1 3 int position findNode(head, 3); // 查找节点3的位置返回2从头节点开始计数 printf(Position of node with value 3: %d\n, position); // 输出Position of node with value 3: 2 return 0; }
http://www.hkea.cn/news/14299324/

相关文章:

  • 上海专业网站建设网站今天出入苏州最新通知
  • 网站快速排名技巧房地产开发商是干什么的
  • 怎么做网站内容公司网站运营维护单位
  • 建网站 可以看到访客吗昆山建设招标信息网站
  • 深圳品牌医疗网站建设新浪微博网站建设
  • 安康网站建设智能小程序wordpress 源码讲解
  • 网站推广 济南高校二级网站建设要求
  • 字牌标识公司网站网站编号 6019湖北雨水最新消息
  • 网站群 seo上饶商城网站建设
  • 查网站二级域名南化建设公司官网
  • 太原电商网站设计做百度手机网站优化
  • 群辉怎么做网站网页打不开视频播放不了是什么问题
  • 上海网站建设哪家快速上线集约化网站群建设方案
  • 注册网站不需要手机验证的小说下载网站哪个好
  • 做php网站都用框架吗企业网站制作商
  • 网站title设置网络广告营销的概念
  • 商机互联网站建设网站开发实训感想
  • 网站建设技术 翻译wordpress typecho
  • 网站建设总结与江苏省城市建设信用手册网站
  • 上海网站建设熊掌号wordpress 七牛镜像
  • 校园失物招领网站建设北京网站建设 招聘信息
  • 成都学生做网站400免费服务电话申请
  • 网站开发和推广方案专业搜索引擎优化电话
  • 网站开发需要什么东西广州冼村街道办事处电话
  • 龙川县建设网站建设银行企业网上银行
  • 制作网站需要哪些成本柳州做网站的
  • 环球旅行社网站建设规划书论文邯郸模板建站教程
  • python做网站显示表格国家学历提升官网
  • 专业郑州网站建设WordPress数据库自动切换
  • 网站建设自己能做吗网络直播公司营销方案