c++相关
c++相关的一些实验。
ayesawyer
这个作者很懒,什么都没留下…
展开
-
动态规划算法解析与实战
一、算法思想 动态规划算法的基础是最优原理,它是用来解决贪婪算法和分治算法无法解决或者无法简洁高效解决的算法,一般用于求解下列问题:(1)背包问题 (2)最短路径 等。 动态规划和贪婪算法一样,都一个问题的求解都是分为对很多问题的求解的综合,问题最终的解是多次选择的综合结果,但是贪婪算法中,每次选择最优解,之后不可撤回,但是动态规划中需要考察一系列的抉择,然...原创 2019-11-18 11:24:48 · 478 阅读 · 0 评论 -
全排列算法
一、数组中无重复元素 全排列的意思是对于一个给定的无重复元素的集合{a1,a2,a3,a4........an},求出它的所有的排序方式,这个问题其实可以用分治算法的思想来解决,首先可以把问题进行简化,例如:将一个字符串分为头部和尾部,其中头部是一个元素,尾部是剩下的所有元素,如下所示:a bcdb acdc abdd abc 此时上述的4个字符串已...原创 2019-11-15 17:31:29 · 201 阅读 · 0 评论 -
链表添加函数中为什么要用指向链表指针的指针
指针这一块一直很绕,搞不清楚。在看书的时候有个往链表里添加节点的函数,代码中考虑到可能给出的头指针为空,并做另外一些处理。具体代码如下: #include <iostream>#include <string>using namespace std;struct ListNode{int val;...原创 2019-07-30 09:37:12 · 1087 阅读 · 1 评论 -
面向对象编程的三大特性
封装、继承、多态一、封装将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体,每个对象都能包含它所进行操作所需要的所有信息,而不必依赖于其他对象。数据是被保护在抽象数据类型的内部,尽可能地隐藏内部的细节,只保留一些对外的接口使其与外部发生联系。用户可以只关注于使用,而不关心具体的实现,用户也无需关心对象内部的细节,可以通过该对象对外提供的接口来访问该对象的内部数据。优点:(1...原创 2019-08-12 20:11:05 · 183 阅读 · 0 评论 -
操作系统一些琐碎的知识点
A:程序查询方式:检查条件及处理需要占用CPU时间;B:中断模式:检查条件不占用CPU时间,满足条件进入中断处理子程序,此时需占用CPU;C:DMA方式:由DMA控制器完成I/O与内存之间的请求,CPU占用仅发生在DMA请求阶段和结束阶段;D:无条件存取方式:在处理过程中仍然需要占用CPU。同一进程内的线程共享:1、代码段 2、数据段 3、打开文件列表线程私有:1、线程i...原创 2019-08-16 15:57:06 · 445 阅读 · 0 评论 -
c++输出精度设置
去对面公司笔试,要求输出16位小数,忘记怎么设置输出精度了,那个题就0%了,心塞。代码:#include <iostream>using namespace std;int main() { int b_arr[]={1,2,3,4}; cout<<b_arr<<endl;;//仅仅打印数组的起始地址,只有字符数组才能这样输出...原创 2019-08-23 11:53:22 · 360 阅读 · 0 评论 -
c++中int型转string以及string转int型
做字节的笔试的时候,突然有一步要用到,结果没想起来,炸了。直接上代码吧#include<iostream>#include<string>#include<sstream>using namespace std;int main(){ string str="1234"; int num=4321; cout<<"str转换...原创 2019-09-09 11:02:43 · 266 阅读 · 0 评论 -
Android入门破解题目(EX05_01_.apk、Crackme02.apk、CrackMe-F1F2.apk)
EX05_01_.apk 通过查看java源码我们可以发现,要想让程序弹出“right++”,无论输入什么,都无法满足if判断条件(即与输入无关)。于是我们修改smali代码中的跳转条件,然后在AndroidKiller中重打包应用程序,生成的新apk就是破解成功的apk。我们在模拟器上安装运行,就会发现此时无论输入什么,应用程序都会弹出“right++”的提示信息,破解...原创 2019-11-06 11:11:12 · 890 阅读 · 0 评论 -
c++如何对vector进行去重
第一种,利用set容器的特性进行去重:#include <iostream>#include <vector>#include <set>using namespace std;int main() { vector<int>test={1,2,3,3,3,4,2,3,5,2,63,56,34,24}; set<i...原创 2019-11-10 14:12:14 · 4291 阅读 · 0 评论 -
c++声明结构体与释放内存(堆和栈)
堆中声明和栈中声明:#include <iostream>class new_test{ public: int a; int b;};using namespace std;void* stack_bottom=NULL;void ptr_in_stack(new_test* ptr){ //函数调用时处于栈顶位置。 v...原创 2019-11-11 20:59:10 · 5198 阅读 · 0 评论