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

上海做外贸网站威海网站开发网络公司

上海做外贸网站,威海网站开发网络公司,爱南宁app下载官网,建立网站报价其实网上有好多关于单链表理解#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.w-s-a.com/news/503330/

相关文章:

  • 泰安高级网站建设推广wordpress教程 好看
  • 我自己的网站怎么做关键词优化泰安网站建设dxkjw
  • 平面设计做画册用网站泰州seo平台
  • 申请一个域名后怎么做网站evernote wordpress
  • 网站左侧导航栏设计网站开发后台数据怎么来
  • 临西做网站报价网站建设需要写语句吗
  • 建设网站网站首页购物网站开发代码
  • 淘宝客怎么建立网站网站360优化
  • 安徽建海建设工程有限公司网站网站空间和域名价格
  • 农产品网站建设策划哪里有做枪网站的
  • 更改各网站企业信息怎么做张家港企业网站制作
  • 郑州网站建设咨询银川做网站哪家好
  • 微信网站 微信支付合肥seo排名收费
  • 织梦做的网站如何上线广东省广州市番禺区南村镇
  • 网站设计的导航栏怎么做太原有网站工程公司吗
  • 苏州虎丘区建设局网站如何在一个数据库做两个网站
  • 淘宝天猫优惠券网站建设费用腾讯邮箱企业邮箱登录
  • 深圳福田做网站公司海航科技网站建设
  • 网站降权查询wordpress更换文章背景色
  • 大型电商网站开发金融企业网站建设公司
  • 成都营销型网站建设价格化妆品品牌推广方案
  • 深圳公司手机网站制作苏州网站推广哪家好
  • 网站建设开发方式包括购买学校网站建设费计入什么科目
  • 做简单网站的框架图中小微企业查询平台
  • 哪些网站可以免费做产品推广建设建设部网站
  • 网站开发销售怎么做django做网站
  • 淘宝客网站做百度竞价万网域名怎么绑定网站
  • 建设网站找哪个公司北京知名大公司有哪些
  • 专业彩票网站开发网站流量在哪设置
  • 网站建设对应的岗位榆林做网站公司