
单链表
豆哥强
这个作者很懒,什么都没留下…
展开
-
单链表的原地排序(最小空间时间复杂度)——司
单链表原地排序(最小空间时间复杂度)这里我们用插入排序的思想进行单链表的排序代码如下:void List_sort(link &head){ link q, p, s; q = head; p = head->next->next;//从第二个结点开始遍历 head->next->next = NULL; //从第一个结点后断开 while (p != NULL){ s = p;//用s来保存p p = p->next;//p遍历下一个 wh原创 2020-06-19 21:18:44 · 1417 阅读 · 2 评论 -
单链表的原地排序算法(最低时间空间复杂度)——司
这里我带来了链表的原地排序。算法思想:纯粹利用了排序算法中的“插入排序”原理代码如下:void List_sort(link &head){ link q, p, s; q = head; p = head->next->next;//从第二个结点开始遍历 head->next->next = NULL; //从第一个结点后断开 while (p != NULL){ s = p;//用s来保存p p = p->next;//p遍历下一个 wh原创 2020-06-19 20:59:38 · 1778 阅读 · 1 评论 -
链表头插法、尾插法以及链表的原地逆置算法
带有头结点的链表的初始化、头插法、尾插法,以及链表的原地逆置;原地逆置思想:(头插法)从第一个元素后断开链表,这是由于第一个元素不需要经过头插,从第二个元素开始遍历头插法插入他们之间,第一个元素自然是最后一个。省了一个插入,而且理解简单由于遍历元素时会断开这个元素的链接,断开后将无法遍历后一个元素,所以我们用另一个指针保存它。#include<iostream>#include<stdio.h>typedef struct LinkList{ struct LinkLis原创 2020-06-19 00:40:37 · 1971 阅读 · 1 评论