- 博客(5)
- 收藏
- 关注
原创 链表建立与插入一个数据
链表明白一个核心就行,就是结构体里的一部分是存储数据,一部分是下一个的地址#include <iostream>using namespace std;struct note { int data; note *next;};int main() { struct note *heat=NULL, *p, *q=NULL, *t;//这两个指空的地址是因为使用时候总是报错,怀疑是野指针的问题,暂时没有求证。 int i,a,n=3; heat = NULL; for (i
2020-07-24 10:37:18 534
原创 练习笔记 BFS——广度优先遍历(寻找最短路径)
先声明,这是我的练习笔记BFS——广度优先遍历(相当于流水漫过大地,一点变面,各路兵马齐头并进,一路蔓延。找最短路径就是“大汉朝兵分多路,追击外族,走一步,分一只,走一步分一支,最终霍去病那一只兵马首先追到敌军,封狼居胥,然后所有兵马就全部班师回朝”)嘿哈!#include<iostream>using namespace std;struct note { int x; int y; int f; int s;};int main() { struct note que[
2020-07-23 16:53:58 1129
原创 DFS深度优先搜索算法——个人理解版
#include<iostream>using namespace std;//这个题是从1到n的数,有多少种排列方法。可以理解为把1到n这n个数放到a[1]到a[n]中去。//重点有2个:1、每把一个数放到数组a【】中,就立马标记这个数。用book【i】,i即这个数本身。// 2、递归:每放好一个数之后要继续放下一个数,即调用函数本身。核心是什么时候返回。(放完所有数返回)int n,a[101],book[101];//book[]为标记数组,a[]为记载数组,n是总数v
2020-07-21 22:06:26 166
原创 嘿!模拟链表进行排序
模拟链表是由2个数组组成,第一列是数据实体,第二列储存实体的角标(对应真实链表的地址)。#include <iostream> using namespace std; int main() { int data[101], right[101];//数组right--保存的是data角标 int i, n , t, len; cin >> n; //输入第一个数;也可以放在while循环体内部,需要改一点条件 cin >> data[1]; len = 1;
2020-07-21 13:02:55 168
原创 对快速排序中递归的理解
快排核心是从左开始,每一个数都优先找到自己的位置;难点在于排序的步骤要安排好,用二分思想理解是一条不错的方法。理解整段代码是有两个部分的,第一是每一个元素找到自己的位置,第二是整体步骤的安排,也就是递归的用法(压栈)。int a[101], n;//定义全局变量,这两个变量需要在子函数中使用void quicksort(int left, int right){ int i, j, t, temp; if (left > right) return; //递归的归,新手记
2020-07-10 11:29:15 808
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人