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

荣耀商城官网网站网站建设外包工作

荣耀商城官网网站,网站建设外包工作,云南昆明百度总代理,今天秦皇岛最新通知链表概念在现实世界中使用得很普遍。当我们使用 Spotify 播放队列中的下一首歌曲时#xff0c;我们学到的单链表的概念就开始发挥作用。但是要播放队列中的上一首歌曲到底可以做什么呢#xff1f; 在这篇博客中#xff0c;我们将了解与数据结构相关的另一个概念#xff0c…        链表概念在现实世界中使用得很普遍。当我们使用 Spotify 播放队列中的下一首歌曲时我们学到的单链表的概念就开始发挥作用。但是要播放队列中的上一首歌曲到底可以做什么呢  在这篇博客中我们将了解与数据结构相关的另一个概念即双向链表。我们还将讨论使用 C 语言和实时应用程序的实现。 什么是双向链表 链表是一种线性数据结构包含以顺序方式连接的节点。该节点包含三个字段即存储在该参考地址处的数据和指向该参考节点左侧和右侧的后继节点的两个指针。  左节点指针存储序列中前一个节点的内存地址右节点存储下一个节点的内存地址。我们在这里使用动态内存分配而不是数组以便可以在运行时根据执行的操作分配或取消分配内存大小。  在这个例子中头指向第一个节点。引用节点的左指针存储NULL最后一个节点的右指针也是如此。 为了对这个例子进行操作我们可以进一步进行相应的更改。  双向链表的实现 1、在前面插入节点 为了完成上述操作首先创建一个节点并使用动态内存分配内存。将头指向新节点并在左节点和右节点中存储 NULL 值。 void front_add(){//allocate memory using dynamic memory allocation.newnode - data NULL;newnode - prev NULL;newnode - next head;head newnode; } 2.删除最前面的节点 要从前面删除节点我们必须将引用地址的正确节点值存储在头部并释放第一个节点。  void front_del(){newnodehead;head head-next ;head-prev NULL;free(newnode); } 3. 在末尾插入节点 要在末尾添加节点我们必须遍历到末尾并将最后一个节点指向引用的新节点反之亦然。 void end_add(){//allocate memory to newnodenewnode - data item; // tempheadwhile(temp -next !NULL){temp temp-next;}temp-next newnode;newnode - prev temp;newnode- next NULL;} 4.删除末尾节点 要删除末尾的节点我们必须遍历链表并到达末尾。我们将使用指向最后一秒节点的指针。然后释放最后一个节点。 void rear_del(){while(temp - next!NULL){temp temp-next; //temphead}temp -prev- next NULL;free(temp); } 现在我们已经了解了基本操作现在我们将逐步使用 C 实现双向链表。 #includestdio.h #define MAX 5struct node{int data;struct node * prev;struct node * next; }; struct node *head; void front_add(); void front_del(); void rear_add(); void rear_del(); void display();int main(){int choice0;while(choice!6){printf(enter choice:\n);printf(\n1.front_add\n2.front_Del\n3.rear_add\n4.rear_del\n5.display\n6.exit);scanf(%d\n,choice);switch(choice){case 1:front_add();break;case 2:front_del();break;case 3:rear_add();break;case 4:rear_del();break;case 5:display();break;case 6:printf(exiting...\n);break;default:printf(unknown choice\n);}} } void front_add(){struct node* newnode;int item;newnode (struct node*)malloc(sizeof(struct node));printf(enter item value:\n);scanf(%d, item);if(head NULL){newnode - next NULL;newnode - prev NULL;newnode - data item;head newnode;}else{newnode - data item;newnode - prev NULL;newnode - next head;head-prev newnode;head newnode;} } void front_del(){struct node *newnode;if(head-next NULL){head NULL;free(head);printf(\nnode deleted\n);}else{newnodehead;head head-next ;head-prev NULL;free(newnode);printf(deleted\n);} } void rear_add(){struct node *temp,*newnode;int item;newnode (struct node*)malloc(sizeof(struct node));printf(enter item);scanf(%d, item);newnode - data item;temp head;while(temp -next !NULL){temp temp-next;}temp-next newnode;newnode - prev temp;newnode- next NULL;printf(inserted\n);} void rear_del(){struct node *temp;temphead;if(head-nextNULL){head NULL;free(head);printf(deleted\n);}else{while(temp - next!NULL){temp temp-next;}temp -prev- next NULL;free(temp);printf(deleted\n);} } void display(){struct node *temp;temp head;if(headNULL){printf(empty\n);}else{while(temp!NULL){printf(%d, temp-data);temp temp-next;}} }此代码将为您提供所需的输出 您有没有想过这些多人游戏是如何开发的玩家可以在重复的循环中获得机会这意味着最后一个玩家再次链接到第一个玩家以形成循环。 为了使这成为可能我们引入了另一个与链表相关的概念。在这种情况下循环链表很有用。 循环链表 在循环单链表中链表的最后一个节点包含指向链表第一个节点的指针。双链表和单链表都可以使用这个概念。 该列表与其他两个列表的唯一区别是最后一个节点的右指针指向第一个节点而头节点始终指向第一个节点本身。 结论 在我看来链表的概念在解决复杂问题时非常重要和有用。在经历各种场景时双向链表和循环单链表都是齐头并进的。我希望您喜欢阅读这个博客。请点赞并评论您对今天主题的看法。学习愉快
http://www.hkea.cn/news/14258815/

相关文章:

  • 如何建开发手机网站首页wordpress商城模板
  • 中咨建设监理有限公司网站母婴用品网站建设规划
  • 质量好网站建设加工vs c 网站开发
  • 大学生活网站设计中国摄影师个人网站设计
  • 河南做网站最好的公司腾讯云服务器控制台
  • 河南做网站公司汉狮昌大建设原名叫什么
  • 做金融量化的网站网站建设教程浩森宇特
  • 优惠券网站要怎么做的企业微网站
  • 网站有收录但是没排名做网站电话销售说辞
  • 用wordpress开发网站免费制作logo生成器在线
  • 拟一份饰品网站建设合同上海做网站哪家正规
  • 龙华营销型网站建设公司wordpress评论加入点赞
  • 建设网站需要体现的流程有哪些内容开发平台多少钱
  • 可以做国外购物的网站网站建设费用报价单
  • 网上给别人做网站wordpress页面使用方法
  • 网站正在建设中 文案山西省吕梁市属于哪个市
  • wordpress老站开启多站点凡客科技
  • 山东 网站建设 公司明薇通网站建设首选
  • 网站关闭流程泗县建设局网站
  • 深圳seo网站推广公司网站的自动登录是怎么做的
  • 中小企业网站模板网站托管公司哪家好
  • 淘客怎么用网站做如何在谷歌上做网站
  • 石狮建设银行网站制作营销网站公司
  • 闲置物品交易网站怎么做Wordpress支持分布发布吗
  • 河南小学网站建设网站 常见推广
  • 学校网站建设需求文档wordpress显示文章图片
  • 网站制作首页昆明网上房地产官网
  • 网站怎么做房源mvc5网站开发之六
  • 英文网站建设需求衡水 网站开发
  • 建个网站花钱做百度推广系统开发是什么