- 博客(5)
- 收藏
- 关注
原创 图的二维数组表示——司
图的二维数组表示 思路:n个顶点就需要n的平方的数组来表示,数组里面的值代表了这两条边的权重;啥都不说了直接上代码: #include<iostream> #include <stdio.h> #define max 5 typedef struct RGraph{ //定义结点结构体 int GNode; //点的个数 int Edge; // 边的个数 int vertext[max][max]; }RGraph,*RG; typedef struct Edge{ //定
2020-07-08 21:00:38
1043
原创 单链表的原地排序(最小空间时间复杂度)——司
单链表原地排序(最小空间时间复杂度) 这里我们用插入排序的思想进行单链表的排序 代码如下: 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
1415
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
1776
1
原创 链表头插法、尾插法以及链表的原地逆置算法
带有头结点的链表的初始化、头插法、尾插法,以及链表的原地逆置; 原地逆置思想:(头插法) 从第一个元素后断开链表,这是由于第一个元素不需要经过头插,从第二个元素开始遍历头插法插入他们之间,第一个元素自然是最后一个。省了一个插入,而且理解简单由于遍历元素时会断开这个元素的链接,断开后将无法遍历后一个元素,所以我们用另一个指针保存它。 #include<iostream> #include<stdio.h> typedef struct LinkList{ struct LinkLis
2020-06-19 00:40:37
1969
1
原创 关于最小时间空间复杂度的数组左移算法
代码如下: 代码思想: (ab)->(ba) ; #include <iostream> #include <stdio.h> #define Maxsize 10 typedef struct Array{ int length; int elem[Maxsize]; }Array; void Move(Array &A, int step){ int a = step; int b = A.length - step;...
2020-06-17 21:10:46
1735
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人