- 博客(25)
- 资源 (2)
- 收藏
- 关注
原创 数组进行自动类型转换
数组在赋值时,如果数据类型不同,会进行自动类型转换,比如int p[2];p[0] = 1.2;//会自动转化为1,然后赋值给p[0]以下是数组类的一个转换//这种情况能发生多态调用class parent;parent* p[2]; //区别之处class parent {public: virtual int Sum_Solution(int n) { re...
2020-04-20 09:55:55
384
1
原创 C++实现蓝桥杯模拟正整数序列的数量
我这里采用的是递归实现的方法,但是发现到1000的话,就超时了,还请大佬们指点#include <iostream>using namespace std;int CalNum(int num,int dif){ if (dif == 1 || dif == 0)return 1; int val = 1; for (int i = 1; i < dif; i...
2020-04-10 19:43:34
236
原创 项目中Qt的UI界面的配置问题
1、进行界面布局2、建立信号和槽:在编辑里边建立槽函数,这里的槽函数就是等会Pycharm要编写的函数,然后进行编译生成ui界面(两次项目文件分别在QT_MyDialog和match中)3、在pycharm中运行 将ui拷贝到pycharm的项目中 cmd到终端,cd移动到python文件的根目录下(如果要更换盘的话,先D:),执行pyuic5 w...
2020-01-02 10:45:54
549
原创 树的序列化与反序列化
代码如下: vector<int> Serialize(TreeNode *root) { vector<int> vec; int i = 0; stack<TreeNode *>s; TreeNode *r = root; while (!s.empty() || r) { while (r) { ...
2019-12-19 12:39:00
246
1
原创 数组排序之后相邻数的最大差值
题目:给定一个无序数组,求出需要排序的最短子数组的长度。例如:arr={1,5,3,4,2,6,7}返回4,因为只有[5,3,4,2]需要排序。思路:解决这个问题可以在时间复杂度为O(N)、额外空间复杂度为O(1)完成。时间复杂度为O(n),快排啥的就已经排除了,这里应用桶排序,将arr中的所有数从min到max分成max-min个桶,当相邻最大的时候,也就是相邻两个之间...
2019-09-14 21:59:14
761
原创 堆排序
void HeapSort(vector<int> &vec,int k,int siz) { int x = 0; int pos = siz / 2; while (k <= pos) { //右边节点为特殊情况,先考虑他 if (2 * k + 1 <= siz &&am...
2019-09-12 22:03:31
88
原创 对一个几乎有序的数组的进行排列
几乎有序是指,如果把数组排好顺序的话,每个元素移动的距离可以不超过k,并且k相对于数组来说比较小。请选择一个合适的排序算法针对这个数据进行排序。 给定一个int数组A,同时给定k1、使用堆排序,每次从后开始的k个数,建立堆,然后找到最大的放后边,然后不断的建堆,最后对第1个数进行处理即可(ps:因为第一个数没参与堆排序),每次建堆为lok(k),所以总共的时间复杂度为O(nlog(k))2...
2019-09-12 21:34:56
2280
原创 桶排序
void henan(vector<int> &vec,int n) { int l = -1; int h = vec.size(); for (int i = 0; i < h; i++) { if (vec[i] < n) swap(vec[++l], vec[i]); else if (vec[i] > n)...
2019-09-11 10:53:20
91
原创 创建树以及遍历—-刷题构建原生环境
void CreateTre(TreeNode **root,deque<int> &p) { if ((*p.begin()) == 0) { *root = nullptr; p.pop_front(); } else { *root = new TreeNode(*p.begin()); //cout << *...
2019-08-21 14:03:09
92
原创 二叉树的非递归先序遍历
方法一:利用栈的原理,其实递归不就是栈嘛,递归函数在栈中的创建和删除而已还有一个skill,其实先序,他的本质,咋们是不是可以理解成都是遍历左子树呢,接下来再遍历右子树的左子树,是不是very good这里把先序和中序都给实现了void preorderTraversal(TreeNode *root, vector<int> &path){ sta...
2019-08-20 16:40:36
354
原创 快速排序
核心思想:每次都是将选定值,比如是p[low],将他给丢过来丢过去,最终到合适的位置#include<bits/stdc++.h>using namespace std;void PrintArr(int *p, int len){ for (int i = 0; i < len; i++) cout << p[i] << " "; ...
2019-04-27 19:44:38
102
原创 kmp算法
kmp算法总体来说分为两步:1、next数组求解 根据下边的子函数GetNext()来理解,其中,最难理解的为j = next[j]这一步,如下图,两个||表示最长的匹配好的前缀和后缀,那么接下来,这个父串中后缀直接和子串的前缀进行匹配好了(就是一个等价关系:父前缀=子前缀=父后缀=子后缀),只需要比较父串当前位置和子串中最长前缀的下一位即可,而这个下一位就是next[j]。 确实...
2019-04-26 21:58:34
450
2
原创 归并排序的非递归实现
思路为:首先实现间隔1,2,4,8,16,,,(即每一层)的循环,然后,在这里边的每个循环里边,进行归并处理#include<bits/stdc++.h>using namespace std;void Print_arr(int *p, int len){ for (int i = 0; i < len; i++) cout << p[i] &l...
2019-04-24 19:46:12
169
原创 归并排序
《大话数据结构》里边的归并排序存在bug,这是修改之后的,已亲测#include<bits/stdc++.h>using namespace std;void Print_arr(int *p,int len){ for (int i = 0; i < len; i++) cout << p[i] << " "; cout <&...
2019-04-19 14:39:11
85
原创 《大话数据结构》中平衡二叉树创建源码
百度到这个的,肯定是个懒鬼知道你懒,本博主宠宠你,特意敲出来了#include <bits/stdc++.h>using namespace std;//左高、等高、右高#define LH 1#define EH 0#define RH -1enum Status { False, Success };//定义树的数据类型typedef int Type...
2019-03-23 20:37:16
188
2
原创 二叉排序树的创建
最最最需要注意的就是二级指针的运用#include <bits/stdc++.h>using namespace std;enum Status {False,Success};//定义树的数据类型typedef int Type;typedef struct Tree{ Type data; struct Tree *lchild, *rchild;...
2019-03-22 21:22:14
184
原创 《大话数据结构》二叉树一节的代码
#include <iostream>#include <stdio.h>using namespace std;typedef enum {Link,Thread} PointTre;typedef char TreDataType;typedef struct TreNode{ TreDataType data; struct TreNode *L...
2019-03-01 20:08:31
140
原创 c语言进制转换
通过键盘输入data(字符串型)和进制a,实现各种进制的转换例如 Sample Input 21000 2 1F 16-1 10 20 3 Sample Output 39 #include<bits/stdc++.h>using namespace std;void inv...
2018-12-15 11:57:01
166
原创 链表插入、删除、创建等操作
#include<bits/stdc++.h>using namespace std;typedef struct _PNODE{ int data; struct _PNODE *pNext;}PNODE;PNODE * create_list(void) //创建链表{ int num; int data; PNODE *...
2018-12-13 16:03:06
151
原创 c语言中break的使用
break是能跳出循环,这里的循环是指for do while while 这三种循环,且只能跳出距离他最近的那一个循环
2017-04-29 16:52:14
5054
1
转载 32模式
一、GPIO配置(1)GPIO_Mode_AIN 模拟输入(2)GPIO_Mode_IN_FLOATING 浮空输入(3)GPIO_Mode_IPD 下拉输入(4)GPIO_Mode_IPU 上拉输入(5)GPIO_Mode_Out_OD 开漏输出(6)GPIO_Mode_Out_PP 推挽输出(7)GPIO_Mode_AF_OD 复用开漏输出(8)GPIO_Mod
2016-11-29 20:55:38
232
自然辩证法网课答案(雨课堂)
2020-03-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人