![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
Jasscical
github:github网址/jasscical
gitee:gitee网址/jasscical/
记录个人学习经历,积少成多,水到渠成。
展开
-
(排序算法)冒泡排序
冒泡排序:我这里是将从小到大排序,所以每次将最小的数放到前面。主要就是注意下标问题,别越界了。#include <iostream>#include <vector>using namespace std;// 交换两个数void swap(vector<int> &nums, int i, int j){ int temp = nums[i]; nums[i] = nums[j]; nums[j] = temp;}//.原创 2020-09-25 17:15:39 · 117 阅读 · 0 评论 -
(排序算法)直接插入排序
自己写个数组,按照代码走一遍,会更好理解~直接插入排序:两个指针i,j,i从数组第二个元素开始遍历数组的每一个元素,在遍历每个元素的时候,用j 遍历 i 之前的元素,如果比原来nums[i](下标 i 对应数组值)小的,就进行元素后移,数组是没有删除元素这一说,本质只有覆盖原有元素,那么移动完后,就会空出一个位置(其实是有元素的,不要管),你只要把原来放到(覆盖)该位置即可。#include <iostream>#include <vector>usi...原创 2020-09-25 15:29:06 · 169 阅读 · 0 评论 -
(排序算法)归并排序
这位大佬讲的很清晰,自己跟着实现了一遍C++版本的B站--归并排序我理解是:分治:将数组分为左、右两半,然后对左右半再如此......直到不能再细分(分到只剩最后一个元素) 合并:两个部分内部是有序的,将它们合并特别注意这个下标,一不小心就越界了,头皮发麻,特别是感觉自己思路没啥问题的时候------#include <iostream>#include <vector> using namespace std;// 1.合并void merg原创 2020-09-24 20:37:35 · 121 阅读 · 0 评论 -
(排序算法)堆排序
这里推荐一个讲的特别好的视频B站堆排序我学习了大话数据结构以及这个视频,自己写了一下,代码如下:#include<iostream>#include<vector>using namespace std; void swap(vector<int> &nums, int i, int j){ int temp = nums[i]; nums[i] = nums[j]; nums[j] = temp;}void heap_build原创 2020-09-21 19:35:46 · 192 阅读 · 1 评论 -
数组、链表各自的优缺点
1.数组优点:随机访问快缺点:插入删除比较慢2.链表优点:它允许快速的插入和删除缺点:随机访问却比较慢原创 2020-06-15 21:54:32 · 186 阅读 · 0 评论