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

网站思维导图例子icp备案号

网站思维导图例子,icp备案号,h5编辑软件,做公益网站有什么要求基本的算法实践在上一篇博文#xff0c;这篇博文向大家详细展示一下数据结构的高级应用#xff0c;可能有些难#xff0c;但这是重点#xff0c;实用性很强#xff0c;而且用的好往往事半功倍#xff0c;想获得力量吗#xff0c;开整#xff1a; 我把他们分为这几块这篇博文向大家详细展示一下数据结构的高级应用可能有些难但这是重点实用性很强而且用的好往往事半功倍想获得力量吗开整 我把他们分为这几块 链表反转反转单向链表或双向链表。检测链表环判断链表中是否存在环。合并两个有序链表将两个有序链表合并成一个有序链表。从链表中删除重复节点删除链表中的重复节点。链表排序对链表进行排序例如归并排序。 下面一一用代码给出展示代码完整可以直接复制下来自己摸索自己修改执行也可以自己保留复习话不多说代码见 C语言实现单向链表的高级操作 1. 链表反转 ListNode* reverse_list(ListNode* head) {ListNode* prev NULL;ListNode* current head;ListNode* next NULL;while (current ! NULL) {next current-next;current-next prev;prev current;current next;}return prev; }2. 检测链表环 int has_cycle(ListNode* head) {ListNode *slow head, *fast head;while (fast ! NULL fast-next ! NULL) {slow slow-next;fast fast-next-next;if (slow fast) {return 1;}}return 0; }3. 合并两个有序链表 ListNode* merge_sorted_lists(ListNode* l1, ListNode* l2) {if (!l1) return l2;if (!l2) return l1;if (l1-value l2-value) {l1-next merge_sorted_lists(l1-next, l2);return l1;} else {l2-next merge_sorted_lists(l1, l2-next);return l2;} }4. 从链表中删除重复节点 void remove_duplicates(ListNode* head) {ListNode* current head;while (current ! NULL current-next ! NULL) {if (current-value current-next-value) {ListNode* next_next current-next-next;free(current-next);current-next next_next;} else {current current-next;}} }5. 链表排序归并排序 ListNode* sorted_merge(ListNode* a, ListNode* b) {if (!a) return b;if (!b) return a;if (a-value b-value) {a-next sorted_merge(a-next, b);return a;} else {b-next sorted_merge(a, b-next);return b;} }void front_back_split(ListNode* source, ListNode** front, ListNode** back) {ListNode* fast source-next;ListNode* slow source;while (fast ! NULL) {fast fast-next;if (fast ! NULL) {slow slow-next;fast fast-next;}}*front source;*back slow-next;slow-next NULL; }void merge_sort(ListNode** head_ref) {ListNode* head *head_ref;if ((head NULL) || (head-next NULL)) {return;}ListNode* a;ListNode* b;front_back_split(head, a, b);merge_sort(a);merge_sort(b);*head_ref sorted_merge(a, b); }C实现双向链表的高级操作 1. 链表反转 void reverse_list() {DoubleListNode *temp nullptr;DoubleListNode *current head;while (current ! nullptr) {temp current-prev;current-prev current-next;current-next temp;current current-prev;}if (temp ! nullptr) {head temp-prev;} }2. 检测链表环 bool has_cycle() {DoubleListNode *slow head, *fast head;while (fast ! nullptr fast-next ! nullptr) {slow slow-next;fast fast-next-next;if (slow fast) {return true;}}return false; }3. 合并两个有序链表 DoubleListNode* merge_sorted_lists(DoubleListNode* l1, DoubleListNode* l2) {if (!l1) return l2;if (!l2) return l1;if (l1-value l2-value) {l1-next merge_sorted_lists(l1-next, l2);if (l1-next ! nullptr) {l1-next-prev l1;}l1-prev nullptr;return l1;} else {l2-next merge_sorted_lists(l1, l2-next);if (l2-next ! nullptr) {l2-next-prev l2;}l2-prev nullptr;return l2;} }4. 从链表中删除重复节点 void remove_duplicates() {DoubleListNode* current head;while (current ! nullptr) {DoubleListNode* runner current-next;while (runner ! nullptr) {if (current-value runner-value) {DoubleListNode* next runner-next;if (runner-prev) {runner-prev-next runner-next;}if (runner-next) {runner-next-prev runner-prev;}delete runner;runner next;} else {runner runner-next;}}current current-next;} }5. 链表排序归并排序 DoubleListNode* sorted_merge(DoubleListNode* a, DoubleListNode* b) {if (!a) return b;if (!b) return a;if (a-value b-value) {a-next sorted_merge(a-next, b);a-next-prev a;a-prev nullptr;return a;} else {b-next sorted_merge(a, b-next);b-next-prev b;b-prev nullptr;return b;} }void split(DoubleListNode* source, DoubleListNode** front, DoubleListNode** back) {DoubleListNode* fast source-next;DoubleListNode* slow source;while (fast ! nullptr) {fast fast-next;if (fast ! nullptr) {slow slow-next;fast fast-next;}}*front source;*back slow-next;slow-next nullptr; }void merge_sort(DoubleListNode** head_ref) {DoubleListNode* head *head_ref;if ((head nullptr) || (head-next nullptr)) {return;}DoubleListNode* a;DoubleListNode* b;split(head, a, b);merge_sort(a);merge_sort(b);*head_ref sorted_merge(a, b); }是不是发现了一个尽分享干货的博主创作属实不易希望大家珍惜
http://www.zqtcl.cn/news/761103/

相关文章:

  • 网站后台更新缓存失败网站平台规划方案
  • 网站开发需求分析主要内容saas建站系统是怎么实现的
  • 做qq头像的网站有哪些wordpress怎么部署到虚拟linux服务器
  • 征求网站建设企业网站建设word
  • 市民服务中心网站建设小型公众号开发
  • 服装网站建设策划书论文基层建设刊物网站
  • 网站建设合同技术开发合同范本wordpress备份和还原
  • 物流信息平台网站建设一流本科专业建设点网站
  • 天猫网站建设的目标是什么装潢设计软件
  • 电商网站首页图片网站功能模块建设
  • 邮件服务器是不是网站服务器黄江网站建设公司
  • 科技部网站方案网页设计网站设计欣赏
  • 自贡建设机械网站网站策划与运营课程认知
  • 公司做网站该注意哪些廊坊seo
  • 网站开发目录高尔夫 wordpress
  • 三只松鼠网站建设不做网站做百家号
  • 石家庄网站关键词推广淘宝网站建设设计模板
  • 马鞍山什么房产网站做的好网速
  • 国外做兼职网站软件园二期做网站的公司
  • 淘客网站备案教程网页设计与制作教程十四五规划
  • 哪些网站可以做外部锚文本网页设计个人简历怎么做
  • 福州网站营销北京著名网站建设公司
  • 导购网站开发 源码wordpress 获取总页数
  • 网站名查找wordpress评论人
  • 网络推广最好的网站有哪些wordpress怎么用万网域名
  • 大连仟亿科技网站建设公司 概况网络信用贷款哪个好
  • 配置了iis打不开网站外贸建站哪个最便宜
  • 酒店网站建设描述免费建站网站有哪些
  • 做宠物的网站主题思想网站建设 司法公开的需要
  • 建站图标素材前端面试题2022