自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

mmwwxx123的博客

交流并分享学习

  • 博客(68)
  • 收藏
  • 关注

转载 Android音视频开发学习

本文原址链接:https://www.cnblogs.com/renhui/p/7452572.html 初级入门篇:Android 音视频开发(一) : 通过三种方式绘制图片 Android 音视频开发...

2019-07-19 17:18:36 469

转载 软件测试常用方法

此文转载原博地址: https://blog.csdn.net/u014745194/article/details/79919756用例编号测试项测试标题用例属性重要级别:高中低预置条件测试输入操作步骤预期结果实际结果第二:等价类1,等价类定义2,等价类划分3,等价类划分规则...

2019-07-19 11:00:08 743

转载 HTML accept 属性

定义和用法文章地址: http://www.w3school.com.cn/tags/att_input_accept.aspaccept 属性规定了可通过文件上传提交的服务器接受的文件类型。注意:accept 属性仅适用于 <input type="file">。提示:请不要将该属性作为您的验证工具。应该在服务器上对文件上传进行验证。实例规定...

2019-03-19 14:51:58 2988

原创 用java语言实现二维码操作

之前大概了解了一下二维码的生成过程,分享给大家:1.如果实现二维码功能需要导入核心jar包,我导入的是core-3.2.1.jar;2.首先是创建一张带有参数内容的图片,方法如下:private static BufferedImage createImage(String content, String imgPath, boolean needCompress) throws Excep...

2019-02-28 19:32:33 400

原创 Java--实现一个简单的书店购物车操作

编写购物车:《1》Book类属性:id ,name, author, price ,num方法:set,get方法 ,构造方法《2》ShoppingCart类 购物车类属性 cart (书列表)方法: (1)setter getter方法 构造方法(2)添加购物车方法 addBook(Book b)要求:相同id书 数量+1(3)删除图书方法 deleteBook(...

2018-12-22 16:41:56 1646

原创 java--练习一

对于一个字符串(rcdmpoesdjw232dqeeo2mpwdcsd)找到至少出现3次的第一个字符;public class Demo2 { public static void main(String[] args){ String str=&amp;amp;quot;rcdmpoesdjw232dqeeo2mpwdcsd&amp;amp;quot;; char[] ch=str.toCharArray(); Map&amp;amp;amp;lt;C...

2018-12-19 14:45:36 276

原创 【面试题】跳台阶

一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。假设,一级台阶,有f(1)种方法,二级有f(2)种,以此类推,n级有f(n)种方法。 可以看出,f(1)=1;f(2)=2。那么,假设n级台阶,那么第一步就有两种情况,跳一步,跟跳两步。情况一:跳一步,那么接下去的就是f(n-1);情况二:跳两步,那么接下去的就是f(n-2)。所以总数...

2018-08-27 20:51:26 525

原创 【C++】实现Myvector和myList

用C++封装顺序表: 代码:#pragma once#include&amp;lt;iostream&amp;gt;#include&amp;lt;assert.h&amp;gt;using namespace std;typedef int DataType;class Myvector{public: //析构空Myvector Myvector() :_ar...

2018-08-27 18:25:52 860

原创 【c++】String类的深浅拷贝

浅拷贝 ##—–位拷贝浅拷贝是将原始对象中的数据型字段拷贝到新对象中去,将引用型字段的“引用”复制到新对象中去,不把“引用的对象”复制进去,所以原始对象和新对象引用同一对象,新对象中的引用型字段发生变化会导致原始对象中的对应字段也发生变化。 - 概念: 将一个对象中的内容原封不动的拷贝到另一个对象中,多个对象共享同一个资源。后果: 在销毁对象时一个资源被释放多次引起程序崩...

2018-08-25 22:00:58 451

原创 【c++】设计特殊的类

设计一个特殊的类,该类只能在堆上创建对象将类的析构函数声明为private,但是为了创建该类的对象,则必须提供创建对象和释放对象的接口,用static函数成员实现:class HeapOnly{public: static HeapOnly *CreateInstance() { HeapOnly *obj = new HeapOnly; ...

2018-08-25 20:15:27 123

原创 类的默认成员函数与友元函数

在C++中,类与C语言中的结构体类似,类与结构体的不同之处便是在其内部多了几个成员函数还有几个访问限定符,访问限定符有public(公共)、protected(保护)、private(私有),而成员函数总的来说共包括六大类,他们便是类与结构体的不同之处,六大默认成员函数分别是构造函数,拷贝构造函数,析构函数,赋值操作符重载,取地址操作符重载和const修饰的取地址操作符重载。 构造函数 ##...

2018-08-22 20:59:09 538

原创 【c++】类与对象

类&amp;对象类和对象(class)是两种以计算机为载体的计算机语言的合称。 对象是对客观事物的抽象,类是对对象的抽象。 类是一种抽象的数据类型。 它们的关系是: 类是对象的抽象,而对象是类的具体实例。类是抽象的,不占用内存,而对象是具体的,占用存储空间。类是用于创建对象的蓝图,它是一个定义包括在特定类型的对象中的方法和变量的软件模板。什么是类类是 C++ 的核心特性,通常被...

2018-08-22 19:25:29 145

原创 【面试题】求包含n个节点(从1到n,n个节点)的所有二叉搜索树

二叉搜索树满足的条件当前根节点的值大于左子树节点的值 当前根节点的值小于右子树节点的值 左右子树同样是二叉搜索树根据上述规则可以看出,根节点值不同,形成的二叉搜索树就不同,那么[1:n]范围内的n个数就有n个不同的选择。[1:i−1]这i-1个数在其左子树上,[i+1:n]这n-i个数在其右子树上。通过[1:i−1]这i-1个数可以构成多个不同的二叉搜索树,假设是leftT...

2018-08-22 10:36:52 4894

原创 const关键字解析

const是恒定不变的意思,也翻译为常量,常数等,很多人都认为被const修饰的值是常量,这是不精确的,应该说是只读的变量,其值在编译时不能被使用,因为编译器在编译时不知道其存储的内容。const修饰的只读变量定义const只读变量,具有不可变性。void test(void){ const int Max = 100; int Array[Max];}i...

2018-08-20 17:00:44 209

原创 【面试题】二叉树的最大路径和

给出一棵二叉树,寻找一条路径使其路径和最大,路径可以在任一节点中开始和结束(路径和为两个节点之间所在路径上的节点权值之和)。最大的路径和有可能是哪些情况。第一种是左子树的路径加上当前节点第二种是右子树的路径加上当前节点第三种是左右子树的路径加上当前节点(相当于一条横跨当前节点的路径)第四种是只有自己的路径。这四种情况只是用来计算以当前节点根的最大路径。 如果当前节点上面还有...

2018-08-20 10:45:45 4461

原创 【面试题】根据前序遍历和中序或中序和后序遍历树构造二叉树

根据中序遍历和后序遍历树构造二叉树 解题思路 思路和用前序遍历和后序遍历树构造二叉树类似 1、首先根据后序遍历序列的最后一个数字创建根结点(后序遍历序列的最后一个数字就是根结点) 2、然后在中序遍历序列中找到根结点所在的位置,这样就能确定左、右子树结点的数量,这样也就分别找到了左、右子树的中序遍历序列和后序遍历序列。 3、然后用递归的方法去构建左、右子树,直到叶子结点。 根据中序...

2018-08-20 10:38:06 309

原创 c++之内联函数

内联函数定义: C++ 内联函数是通常与类一起使用。如果一个函数是内联的,那么在编译时,编译器会把该函数的代码副本放置在每个调用该函数的地方。以inline修饰的函数叫内联函数。编译时c++编译器会在调用内联函数的地方展开,没有函数压栈的开销,内联函数提升程序运行的效率。如果想把一个函数定义为内联函数,则需要在函数名前面放置关键字 inline,在调用函数之前需要对函数进行定义。如果...

2018-08-18 22:06:39 512

原创 c++之引用

C++中的引用: 定义引用的表示方法与定义指针相似,只是用&amp;amp;amp;代替了*。引用(reference)是c++对c语言的重要扩充。引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。编译器不会为引用变量开辟内存空间,它和它引用的变量共用同一块内存空间。 其格式为:类型 &amp;amp;amp;引用变量名 = 已定义过的变量名。引用的特点:一个变量可取多个别名。引用必须初始...

2018-08-18 21:35:06 137

原创 c++初识

c++是什么C++语言是一种通用的,区分大小写的自由格式编程语言,支持面向对象,过程和通用编程。C++是一种中级语言,因为它包含高级语言和低级语言特性。面向对象编程(OOP) C++支持面向对象编程,C++中使用的面向对象编程的四个主要支持是:继承多态性封装抽象C++的标准库 标准C++编程分为三个重要部分:核心库包括数据类型,变量和文字等标准库包括操作字符串...

2018-08-18 20:33:54 178

原创 【Linux】进程间关系与守护进程

进程间关系进程组/作业/会话进程组进程组是一个或多个进程的集合,通常它们与一组作业相关联,可以接受来自同一终端的各种信号。每个进程除了有一个进程ID之外,还属于一个进程组。每个进程组都有唯一的进程组ID(整数,也可以存放在pid_t类型中)。进程组,每个进程组有一个领头进程。进程组由进程组ID来唯一标识。每个进程组都有一个组长进程,组长进程的进程号等于进程组ID。组...

2018-08-18 19:00:55 235

原创 【面试题】给定一个二叉树,求出它的最小深度,最小深度是从根节点到最近的叶子节点的最短路径的节点数。

解题:遍历一棵二叉树,从根部看起,查看它是否有左右结点。有五种情况 1.没有根节点,那结果就是0 2.有根节点,没有左右子树,结果为1 3.没有左子树,有右子树。把右子树看成一棵新的树,用子问题求解。 4.没有右子树,有左子树。把左子树看成一棵新的树,用子问题求解 5.既有左子树,又有右子树。那就把左右子树分别都看成新的树,最后比较谁的最近叶子的路径短,就取哪边。 因为都把左右...

2018-08-18 13:36:44 3604

原创 【面试题】判断一颗二叉树是不是对称的

对称二叉树符合的条件:根节点以及其左右子树 左子树的左子树和右子树的右子树相同 左子树的右子树和右子树的左子树 即判断其与其的镜像是否相同。class Solution {public: bool isSymmetrical(TreeNode* pRoot) { if(pRoot==NULL) return true; ...

2018-08-17 11:30:15 595

原创 【C++】自定义一个Date类

学习了C++的一些类的默认成员函数,运算符重载等内容后,自已定义并实现了一个较为完整的Date类: test.cpp:class Date{public: Date(int year=1900, int month=1, int day=1)//构造函数 { _year = year; _month = month; ...

2018-08-15 16:40:03 2047

原创 【Linux】基础I/O

C语言库中有定义和实现了很多可以打开,读取,写入,搜索和关闭文件的函数。文件函数列表如下: C默认会打开三个输入输出流,分别是stdin,stdout,stderr.这3个流的类型都是FILE *。 打开文件的方式有以下方式: 系统文件I/O...

2018-08-10 16:36:33 203

原创 【Linux】环境变量

基本概念环境变量一般是指在操作系统中用来指定操作系统运行环境的一些参数。如:临时文件夹位置和系统文件夹位置等。 环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。例如Windows和DOS操作系统中的path环境变量,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找。用户通过设...

2018-08-10 15:27:10 115

原创 C语言之I/O

文件流的概念概念:在C语言对文件的操作最终转化为对缓存中的数据进行操作,流实际上就是内存中的一种具有自动顺序操作的特殊数据,流如同流动的河水一样,它具有源和目标地 。 按方向来分:以缓存为中心:流入缓存的是输入,流出的是输出流 1:输入流:从文件读取的流 2:输出流:将数据输出到文件的流 按流的数据内容:根据文本文件和二进制文件来区分为文件流和二进制流 1:文件流,文本流就是...

2018-08-08 21:40:44 1216

原创 【面试题】二叉树相关面试题

判断二叉树是否是平衡二叉树 可以分两步实现。第一步先遍历二叉树中的每一个结点node,调用height()求出该结点的左子树高度height(node.left) 和 右子树高度 height(node.right)。根据左右子树的高度差是否满足其绝对值不超过1,第二步看左子树和右子树是否平衡(子问题),判断该树是否为平衡二叉树。int IsBalanceTree(BTreeNode *...

2018-08-08 16:30:31 214

原创 【Linux】简述信号

信号的基本概念信号是Linux系统为了响应某些状况而产生的事件。进程收到信号后应采取相应的动作。

2018-08-06 13:30:30 245

原创 【Linux】进程间通信

进程间通信进程间通信(IPC)是一组编程接口,让程序员能够协调不同的进程,使之能在一个操作系统里同时运行,并相互传递、交换信息。通信目的数据传输:一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几兆字节之间。共享数据:多个进程想要操作共享数据,一个进程对共享数据的修改,别的进程应该立刻看到。通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种...

2018-08-03 14:59:11 377

原创 【Linux】浅谈线程

线程概念线程:Linux下,线程又被称为轻量级进程,是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。线程是进程中的一个实体,是被系统独立调度和分派的基本单元。线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其他线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。线...

2018-08-01 21:18:27 525

原创 【面试题】输入两个链表,找出他们的第一个公共结点

我们可以有如下步骤先得到两个链表的长度知道较长的链表比 较短的链表多几个节点先在较长的链表上走若干步两个链表上同时遍历,找到的第一个相同的结点就是他们的第一个公共结点。 例如:得到两个链表的长度分别为5和6,先让长链表走1步,到结点4。接下来同时让两个链表分别从结点1和结点4走,直至找到结点6。struct ListNode { int val; struc...

2018-08-01 16:41:18 369

原创 【面试题】二叉搜索树与双向链表

输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建新的结点,只能调整树中结点指针的指向。 在搜索二叉树中,左子结点的值总是小于父结点的值,右子结点的值总大于父结点的值,因此我们在转换成排序双向链表时,原先指向左子结点的指针调整为链表中前一个结点的指针,原先指向右子结点的指针调整为链表中指向后一个结点指针。 我们可以中序遍历树中每一个结点。当遍历到根节点时,应将它与其左...

2018-08-01 15:40:27 1083

原创 【Linux】进程状态

这块重点讲以下两个状态的进程:Z (zombie)僵尸进程僵尸状态:当进程退出并且父进程没有读取到子进程退出的返回代码时产生僵尸进程。 例如:1 #include&lt;stdio.h&gt; 2 #include&lt;stdlib.h&gt; 3 #include&lt;unistd.h&gt; 4 5 int main() 6 { 7 ...

2018-07-31 22:34:46 184

原创 【Linux】初识进程控制

进程概念用户角度:进程是程序一次动态的执行过程。操作系统:进程是操作系统分配资源的最小单位。 硬件上有中断技术出现,产生了分时系统。 进程有自己的运行状态和地址空间(虚拟地址空间)。描述进程—PCB进程信息被放在一个叫进程控制块的数据结构中,可以理解为进程属性的集合。 Linux操作系统下的PCB是:task_struct ...

2018-07-31 15:48:51 148

原创 数据结构之栈与队列相关面试题

实现一个栈,要求返回最小值有3种方法,分别为:用一个栈实现,偶数下标存普通数据,奇数下标为最小的值typedef struct MinStack{ int array[100];//偶数下标存普通数据,奇数下标为最小的值 int top;}MinStack;void Init(MinStack *pS){ pS-&gt;top = 0;}/...

2018-07-28 20:29:42 145

原创 数据结构之哈希表

哈希概念如果构造一种存储结构,通过某种函数(hashFunc)使元素的存储位置与它的关键码之间能够建立一一映射的关系,那么在查找时通过该函数可以很快找到该元素。当向该结构中:插入元素时:根据待插入元素的关键码,以此函数计算出该元素的存储位置并按此位置进行存放搜索元素时:对元素的关键码进行同样的计算,把求得的函数值当做元素的存储位置,在结构中按此位置取元素比较,若关键码相等,则搜索成功。...

2018-07-28 11:47:41 160

原创 数据结构之排序

1. 冒泡排序基本思想:它重复地走访要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。直到没有再需要交换,也就是说该数列已经排序完成。假设有一个大小为 N 的无序序列。以升序冒泡排序为例,冒泡排序就是要每趟排序过程中通过两两比较相邻元素,将小的数字放到前面,大的数字放在后面。空间复杂度:O(N) 时间复杂度:O(N^2) 稳定排序void Swap...

2018-07-27 19:21:53 454

原创 记一些小程序

1.在屏幕上输出以下图案: int main(){ int i, j; //打印上半部分 for (i = 0; i&lt;7; i++) { for (j = 0; j&lt; 6 - i; j++) printf(" "); for (j = 0; j&lt;i * 2 + 1; j++) ...

2018-07-27 10:10:33 134

原创 二叉搜索树

二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。 算法实现1 二叉排序树的查找算法2 在二叉排序树插入结点的算法3 在二叉排序树删除结点...

2018-07-18 12:12:05 160

原创 数据结构之堆

实现堆的创建,出堆等操作#include&amp;amp;lt;stdio.h&amp;amp;gt;#include&amp;amp;lt;stdlib.h&amp;amp;gt;#include&amp;amp;lt;assert.h&amp;amp;gt;#include&amp;amp;lt;string.h&amp;amp;gt;typedef struct Heap{ int array[100];

2018-07-17 20:04:42 149

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除