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

建站平台利弊郑州专业建站报价

建站平台利弊,郑州专业建站报价,大连网页设计,论坛门户网站开发目录 双向链表 一、结构特点 二、操作优势 三、应用场景 1.创建链表 2.头插数据 3.打印数据 4.查找数据 5.删除数据 6.更改数据 7.清空数据 8.尾插数据 9.按位插入 10.获取长度 11.是否为空 双向链表 双向链表是一种链表结构。 一、结构特点 1. 每个节点包含两个…目录 双向链表 一、结构特点 二、操作优势 三、应用场景 1.创建链表 2.头插数据 3.打印数据 4.查找数据 5.删除数据 6.更改数据 7.清空数据 8.尾插数据 9.按位插入 10.获取长度 11.是否为空 双向链表 双向链表是一种链表结构。 一、结构特点 1. 每个节点包含两个指针分别指向直接前驱节点和直接后继节点。这使得在双向链表中可以双向遍历既可以向前也可以向后查找节点。 2. 相比单向链表双向链表在某些操作上更加灵活比如在删除节点时可以快速找到前驱节点进行调整而单向链表需要从头开始遍历才能找到前驱节点。 二、操作优势 1. 插入操作可以快速确定插入位置的前后节点进行指针调整实现高效的插入操作。 2. 删除操作由于能够直接访问前驱节点删除操作也更加方便快捷。 三、应用场景 1. 需要频繁进行前后遍历的场景如文本编辑器中对字符的双向移动和操作。 2. 对数据的插入和删除操作较多且要求高效的系统中。 1.创建链表 LinkList *CreateLinkList() {LinkList*ll (LinkList*)malloc(sizeof(LinkList));if(NULL ll){perror(CreateLinkList malloc);return NULL;}ll-head NULL;ll-clen 0;return ll; } 2.头插数据 int InsertHeadLinkList(LinkList *list, DATATYPE *data) {LinkNode* newnode (LinkNode*)malloc(sizeof(LinkNode));if(NULL newnode){perror(InsertHeadLinkList malloc);return 1;}memcpy(newnode-data,data,sizeof(DATATYPE));newnode-next NULL;newnode-prev NULL;if(IsEmptyLinkList(list)){list-head newnode;}else{newnode-next list-head;list-head-prev newnode;list-head newnode;}list-clen;return 0; } 3.打印数据 int ShowLinkList(LinkList *list ,DIRECT dir) {int i0;int len GetSizeLinkList(list);LinkNode* tmp list-head;if(DIR_FORWARD dir){for(i 0 ;ilen;i){printf(name:%s age:%d score:%d\n,tmp-data.name,tmp-data.age,tmp-data.score);tmptmp-next;}}else{while(tmp-next){tmptmp-next;}while(tmp){printf(name:%s age:%d score:%d\n,tmp-data.name,tmp-data.age,tmp-data.score);tmptmp-prev;}}return 0; } 4.查找数据 LinkNode *FindLinkList(LinkList *list, char *name) {int len GetSizeLinkList(list);int i 0 ;LinkNode*tmp list-head;for(i 0 ;ilen;i){if(0strcmp(tmp-data.name,name)){return tmp;}tmptmp-next;}return NULL; } 5.删除数据 int DeleteLinkList(LinkList *list, char *name) {LinkNode*tmp FindLinkList(list,name);if(NULL tmp){return 1;}if(tmp-next){tmp-next-prevtmp-prev;}if(tmp-prev){tmp-prev-next tmp-next;}else{list-head tmp-next;}free(tmp);list-clen--;return 0; } 6.更改数据 int ModifyLinkList(LinkList *list, char *name, DATATYPE *data) {LinkNode* tmp FindLinkList(list,name);if(NULL tmp){return 1;}memcpy(tmp-data,data,sizeof(DATATYPE));return 0; } 7.清空数据 int DestroyLinkList(LinkList *list) {LinkNode* tmp list-head;while(tmp){list-head list-head-next;free(tmp);tmp list-head;}free(list);return 0; } 8.尾插数据 int InsertTailLinkList(LinkList *list, DATATYPE *data) {if(IsEmptyLinkList(list)){return InsertHeadLinkList(list,data);}else{LinkNode* newnode (LinkNode*)malloc(sizeof(LinkNode));if(NULL newnode){perror(inster tail malloc);return 1;}// newnode initmemcpy(newnode-data,data,sizeof(DATATYPE));newnode-next NULL;newnode-prevNULL;LinkNode*tmp list-head;while(tmp-next){tmp tmp-next;}newnode-prev tmp;tmp-next newnode;}list-clen;return 0; } 9.按位插入 int InsertPosLinkList(LinkList *list, DATATYPE *data, int pos) {int len GetSizeLinkList(list);if (pos 0 || pos len) {return 1;}if (0 pos) {return InsertHeadLinkList(list, data);} else if (len pos) {return InsertTailLinkList(list, data);} else {LinkNode *tmp list-head;int i 0;for (i 0; i pos - 1; i) {tmp tmp-next;}LinkNode *newnode (LinkNode *)malloc(sizeof(LinkNode));if (NULL newnode) {perror(insert pos malloc);return 1;}memcpy(newnode-data, data, sizeof(DATATYPE));newnode-next NULL;newnode-prev NULL;newnode-prev tmp;newnode-next tmp-next;tmp-next-prev newnode;tmp-next newnode;}list-clen;return 0; } 10.获取长度 int GetSizeLinkList(LinkList*list) {return list-clen; } 11.是否为空 int IsEmptyLinkList(LinkList*list) {return 0 list-clen; }
http://www.sczhlp.com/news/207326/

相关文章:

  • 简述网站开发的5个步骤廊坊seo公司
  • 网站建设淘宝评价网页数据抓取
  • 如何做招聘网站的对比宁德做网站
  • 张家界商城网站建设主视觉设计网站
  • 长沙网站推中国最顶尖的室内设计公司
  • 网站如何做熊掌号如何与对方网站做相互链接
  • 图书馆网站的建设的重要性品牌推广手段
  • 京津冀网站建设公司电商平台开发方案
  • 网站开发中都引用什么文献家居网站建设精英
  • 陵县网站建设免费的app制作软件
  • python网站开发流程图微信小程序 开发教程
  • 清风算法受影响的网站做网站 框架
  • 济南网站建设哪家公司好无屏蔽搜索引擎
  • 网站建设职业描述济南网站建设内容
  • 漳平建设局网站网络营销公司取名字大全
  • 哪里有个人卖房网站wordpress投稿管理
  • 羊坊店网站建设怎么用python做网页
  • 网站需要服务器吗沈阳网站建设-中国互联
  • 网站在线qq代码网站维护是什么职业
  • 网站域名和空间seo技术大师
  • 企业网站推广的方法包括网站图怎么做会高清
  • 4.vtk学习——点云可视化
  • 浅谈 Tarjan 算法
  • MODBUS TCP 转DeviceNet:欧姆龙 CJ2M PLC 与生产管理系统在食品饮料包装线喷码机信息准确喷印的通讯配置案例
  • 新版 perf 文件解读与性能分析
  • 做网站高校视频html5网站模板 站长网
  • WordPress大前端5江门seo外包服务
  • 江苏昆山网站建设wordpress百科网
  • idc自动续费网站源码国家工商企业信用信息公示系统
  • 微信公众号商城怎么制作电子商务seo名词解释