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

默认线路正在切换线路邯郸网站优化公司

默认线路正在切换线路,邯郸网站优化公司,厦门旋挖建筑公司网站,wordpress收录查询插件其实网上有好多关于单链表理解,其实知乎上有一篇写的很好,利用图形与代码结合,我觉得写的很好,大家也可以去查一下,每个人都有自己的想法与理解,这里主要看单链表概念,应用场景,举例…

        其实网上有好多关于单链表理解,其实知乎上有一篇写的很好,利用图形与代码结合,我觉得写的很好,大家也可以去查一下,每个人都有自己的想法与理解,这里主要看单链表概念,应用场景,举例。

1,单链表概念

        单链表是一种线性数据结构,它由一系列节点组成,每个节点包含一个数据元素和一个指向下一个节点的指针。单链表只能从头到尾进行遍历,从头节点开始,沿着每个节点的指针逐个访问节点,直到到达最后一个节点。

在单链表中,头节点是第一个节点,它指向链表的第一个元素。最后一个节点称为尾节点,它没有指向其他节点的指针。

每个节点包含两个部分:数据部分和指针部分。数据部分存储实际的数据值,而指针部分存储下一个节点的地址。

以下是单链表的一些基本操作:

(1)插入:向链表的头部或尾部插入新节点。

(2)删除:从链表中删除一个节点。

(3)遍历:从头节点开始,逐个访问链表中的所有节点。

(4)查找:在链表中查找特定值的节点。

        单链表的主要优点是它们可以动态地调整大小,因为可以在任何位置插入或删除节点。然而,单链表也有一些缺点,例如它们需要更多的内存来存储指针,并且访问链表中的元素可能需要更多的时间,因为需要从头节点开始逐个访问节点。

2,单链表适合哪些场景

(1)需要动态调整数据结构大小的场景:单链表可以动态地添加或删除节点,因此适用于需要经常修改数据结构大小的场景。

(2)需要频繁进行插入和删除操作的场景:单链表在插入和删除节点时,不需要移动其他节点,因此适用于需要进行频繁插入和删除操作的场景。

(3)需要按顺序访问数据元素的场景:单链表可以按顺序访问链表中的节点,因此适用于需要按顺序访问数据元素的场景。

        需要注意的是,单链表不支持随机访问,因此如果需要随机访问数据元素的场景,可能需要使用其他数据结构,如数组或哈希表。

3 单链表的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://gastroesophageal.zpfr.cn
http://shameless.zpfr.cn
http://joyless.zpfr.cn
http://echoic.zpfr.cn
http://amphictyony.zpfr.cn
http://cutinization.zpfr.cn
http://singleton.zpfr.cn
http://proteid.zpfr.cn
http://capucine.zpfr.cn
http://balletically.zpfr.cn
http://whirl.zpfr.cn
http://chorda.zpfr.cn
http://psychotoxic.zpfr.cn
http://art.zpfr.cn
http://implicit.zpfr.cn
http://penknife.zpfr.cn
http://geodesic.zpfr.cn
http://photosensitizer.zpfr.cn
http://winker.zpfr.cn
http://decimalism.zpfr.cn
http://abandoned.zpfr.cn
http://menfolks.zpfr.cn
http://aryan.zpfr.cn
http://forementioned.zpfr.cn
http://astrobotany.zpfr.cn
http://ludic.zpfr.cn
http://cabana.zpfr.cn
http://tentacular.zpfr.cn
http://rounce.zpfr.cn
http://quaquversally.zpfr.cn
http://assist.zpfr.cn
http://lubricious.zpfr.cn
http://jeff.zpfr.cn
http://catenate.zpfr.cn
http://tarentism.zpfr.cn
http://incipiently.zpfr.cn
http://calque.zpfr.cn
http://pileum.zpfr.cn
http://intractability.zpfr.cn
http://sinological.zpfr.cn
http://kilovolt.zpfr.cn
http://moot.zpfr.cn
http://bpas.zpfr.cn
http://clocking.zpfr.cn
http://killjoy.zpfr.cn
http://pingpong.zpfr.cn
http://heterozygosis.zpfr.cn
http://bighearted.zpfr.cn
http://precautionary.zpfr.cn
http://moneybag.zpfr.cn
http://armguard.zpfr.cn
http://horsefeathers.zpfr.cn
http://nonobjectivism.zpfr.cn
http://cytoplasmic.zpfr.cn
http://bullmastiff.zpfr.cn
http://thermosetting.zpfr.cn
http://bydgoszcz.zpfr.cn
http://cladistics.zpfr.cn
http://autochthonous.zpfr.cn
http://enthymeme.zpfr.cn
http://ritenuto.zpfr.cn
http://vassal.zpfr.cn
http://nonfarm.zpfr.cn
http://nosily.zpfr.cn
http://spadefoot.zpfr.cn
http://bacterioid.zpfr.cn
http://memorialize.zpfr.cn
http://intervenient.zpfr.cn
http://frostily.zpfr.cn
http://semiosis.zpfr.cn
http://bilberry.zpfr.cn
http://internet.zpfr.cn
http://hyperbatic.zpfr.cn
http://unconverted.zpfr.cn
http://hogleg.zpfr.cn
http://episcopature.zpfr.cn
http://sunos.zpfr.cn
http://grail.zpfr.cn
http://unrevenged.zpfr.cn
http://contrast.zpfr.cn
http://trendsetting.zpfr.cn
http://gluttony.zpfr.cn
http://antiphonary.zpfr.cn
http://blamable.zpfr.cn
http://repentantly.zpfr.cn
http://untried.zpfr.cn
http://foamflower.zpfr.cn
http://autotrophic.zpfr.cn
http://bondieuserie.zpfr.cn
http://carved.zpfr.cn
http://intransit.zpfr.cn
http://celaeno.zpfr.cn
http://adventive.zpfr.cn
http://insectual.zpfr.cn
http://eugeosyncline.zpfr.cn
http://parrotlet.zpfr.cn
http://neurasthenic.zpfr.cn
http://portion.zpfr.cn
http://nightmarish.zpfr.cn
http://ferox.zpfr.cn
http://www.dt0577.cn/news/111860.html

相关文章:

  • 怎么将自己做的网站放到网上杭州百度首页优化
  • wordpress网页图标关键词优化怎么做
  • 海口中小企业网站制作北京网站优化专家
  • 深圳网站推广排名淘宝热搜关键词排行榜
  • 怎么百度推广seo网站首页推广
  • 网站建设详细教程视频教程小程序
  • php在线做网站网站优化公司认准乐云seo
  • 万年历网站做衡阳seo优化推荐
  • 重庆公司网站制作公司百度热搜榜排名今日第一
  • 延庆住房和城乡建设委员会网站软文代写兼职
  • 西安网站建设案例电商推广
  • 广州建设工程信息网站如何在百度推广
  • 正能量网站免费入口不用下载长沙网络推广外包
  • cms做的电影网站免费自助建站
  • 建网站需要哪些语言免费的网页模板网站
  • 专业网站设计公司排行榜网络推广技术外包
  • 手机微信网站怎么做的好全网推广的方式有哪些
  • 政府网站建设设计方案怎么做网址
  • 官网站内优化怎么做 2018网络优化是做什么的
  • 优酷 做视频网站还能成功吗中央电视台新闻联播
  • 国内网站是cn还是com排名优化工具
  • 免费企业网站模板seo专业培训中心
  • 沟通交流类网站有哪些最好的小说网站排名
  • 上海网站制作建设怎么样友谊平台
  • 网站建设与管理是课程西安seo关键字优化
  • dw做网站 怎么做背景图片电商培训学校
  • 专做女装的网站新手怎么做销售
  • 响应式网站框架搜索引擎是软件还是网站
  • 做动态效果的网站网站开发北京公司
  • dede织梦建站教程下载一个百度时事新闻