自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 资源 (40)
  • 问答 (1)
  • 收藏
  • 关注

转载 最详细的最小堆构建、插入、删除的过程图解

转载:http://blog.csdn.net/hrn1216/article/details/514652701.简介       最小堆是一棵完全二叉树,非叶子结点的值不大于左孩子和右孩子的值。本文以图解的方式,说明最小堆的构建、插入、删除的过程。搞懂最小堆的相应知识后,最大堆与此类似。2.最小堆示例3.最小堆的构建   

2016-09-30 17:22:09 29911 4

原创 求字符串里面数字之和

无意看到别人面试问了很简单的问题,求字符串里面数字之和,所以自己来实现下。例子:比如字符串:aaaa13sseui9ddu78ff4sss里面的字符串数字是13、9、78、4 得到的和为104代码如下:package com.sangfor.tree;public class SumByString { public static int sumByString1(S

2016-09-30 12:01:22 4925

原创 经典排序之插入排序

经典排序算法 – 插入排序Insertion sort 插入排序就是每一步都将一个待排数据按其大小插入到已经排序的数据中的适当位置,直到全部插入完毕。插入排序方法分直接插入排序和折半插入排序两种,这里只介绍直接插入排序,折半插入排序留到“查找”内容中进行。 图1演示了对4个元素进行直接插入排序的过程,共需要(a),(b),(c)三次插入。设数组为a[

2016-09-29 20:09:53 2805

原创 Android之Android studio基本调试和快捷键

第一种调试方法:如果APP是单进程,直接debug运行,如下图第二种调试方法:第二种就是调试当前已经处于运行状态下的App,这也是我们用的更多的一种调试手段,即Attach debugger to Android process。点击运行按钮右侧第三个按钮,弹出Choose Process窗口,选择对应的进程,点击OK按钮即可进入调试模式,此时,我们便可以在需要的地方直

2016-09-28 15:35:26 24478

原创 贪心算法

贪心算法一、定义什么是贪心算法呢?所谓贪心算法是指,在对问题求解时,总是做出在当前看来最好的选择。也就是说,不从整体最优解出发来考虑,它所做出的仅是在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,但对范围相当广泛的许多问题都能产生整体最优解或整体最优解的近似解。贪心算法的基本思路如下:1.建立数学模型来描述问题。2.把求解的问题分成若干个子问题。

2016-09-27 23:11:08 2802

原创 经典的01背包问题

01背包问题具体例子:假设现有容量10kg的背包,另外有3个物品,分别为a1,a2,a3。物品a1重量为3kg,价值为4;物品a2重量为4kg,价值为5;物品a3重量为5kg,价值为6。将哪些物品放入背包可使得背包中的总价值最大?  这个问题有两种解法,动态规划和贪婪算法。本文仅涉及动态规划。  先不套用动态规划的具体定义,试着想,碰见这种题目,怎么解决?  首先想

2016-09-27 18:01:45 3804

原创 shell之a+b求和l脚本的三种写法

第一种#!/bin/basha=5b=10c=$[ $a+$b ]echo ${c}第二种#!/bin/basha=5b=10let "c=a+b"echo ${c}第三种#!/bin/basha=5b=10((c=a+b))echo ${c}

2016-09-26 20:01:50 12195 2

转载 shell基础四

Bash 支持很多运算符,包括算数运算符、关系运算符、布尔运算符、字符串运算符和文件测试运算符。原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用。expr 是一款表达式计算工具,使用它能完成表达式的求值操作。例如,两个数相加:#!/bin/bashval=`expr 2 + 2`echo "Total v

2016-09-24 18:17:48 2430

转载 shell基础三

如果表达式中包含特殊字符,Shell 将会进行替换。例如,在双引号中使用变量就是一种替换,转义字符也是一种替换。举个例子:#!/bin/basha=10echo -e "Value of a is $a \n"运行结果:Value of a is 10这里 -e 表示对转义字符进行替换。如果不使用 -e 选项,将会原样输出:Value of a is 1

2016-09-24 18:16:23 2390

转载 shell基础二

前面已经讲到,变量名只能包含数字、字母和下划线,因为某些包含其他字符的变量有特殊含义,这样的变量被称为特殊变量。例如,$ 表示当前Shell进程的ID,即pid,看下面的代码:$echo $$运行结果29949特殊变量列表变量含义$0当前脚本的文件名$n传递给脚本或函数的参数。n 是一个数字,表

2016-09-24 18:15:06 2419

转载 shell基础一

Shell支持自定义变量。定义变量定义变量时,变量名不加美元符号($),如:variableName="value"注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,变量名的命名须遵循如下规则:首个字符必须为字母(a-z,A-Z)。中间不能有空格,可以使用下划线(_)。不能使用标点符号。不能使用bash里的关键字(可用help

2016-09-24 18:13:27 2481

原创 Android之ComponentName的用法

ComponentName(组件名称)是用来打开其他应用程序中的Activity或服务的、ComponentName,顾名思义,就是组件名称,通过调用Intent中的setComponent方法,我们可以打开另外一个应用中的Activity或者服务。实例化一个ComponentName需要两个参数,第一个参数是要启动应用的包名称,这个包名称是指清单文件中列出的应用的包名称:第二个参

2016-09-23 22:05:41 5568

转载 Android之Launcher分析和修改5——HotSeat分析

今天主要是分析一下Launcher里面的快捷方式导航条——HotSeat,一般我们使用手机底下都会有这个导航条,但是如果4.0的Launcher放到平板电脑里面运行,默认是没有HotSeat的,刚好我这里的运行环境类似平板,系统默认把HotSeat去掉了。办法,只能自己想办法把它弄出来,所以今天主要是分析如何在你Launcher上添加HotSeat以及分析HotSeat实现。  Hotse

2016-09-23 20:52:13 3309

转载 Android之Launcher分析和修改4——初始化加载数据

上面一篇文章说了Launcher是如何被启动的,Launcher启动的过程主要是加载界面数据然后显示出来,界面数据都是系统APP有关的数据,都是从Launcher的数据库读取,下面我们详细分析Launcher如何加载数据。在Launcher.java的onCreate()方法里面,调用了开始加载数据接口://Edited by mythou//http://www.cnb

2016-09-23 20:46:52 3051

转载 C的|、||、&、&&、异或、~

位运算    位运算的运算分量只能是整型或字符型数据,位运算把运算对象看作是由二进位组成的位串信息,按位完成指定的运算,得到位串信息的结果。位运算符有:    &(按位与)、|(按位或)、^(按位异或)、~ (按位取反)。    其中,按位取反运算符是单目运算符,其余均为双目运算符。    位运算符的优先级从高到低,依次为~、&、^、|,    其中~的结合方向

2016-09-22 21:17:57 3095

原创 不用变量交换2个值

题目:不使用变量交换2个值代码如下:#include using namespace std;int main(){ int a = 3; int b = 4; cout<<"a="<<a<<endl; cout<<"b="<<b<<endl; a = a ^ b; b = a ^ b; a = a ^ b; cout<<"a="<<a<<endl; c

2016-09-22 20:43:29 2643

转载 shell之什么时候使用shell以及最简单的shell程序

因为Shell似乎是各UNIX系统之间通用的功能,并且经过了POSIX的标准化。因此,Shell脚本只要“用心写”一次,即可应用到很多系统上。因此,之所以要使用Shell脚本是基于:简单性:Shell是一个高级语言;通过它,你可以简洁地表达复杂的操作。可移植性:使用POSIX所定义的功能,可以做到脚本无须修改就可在不同的系统上执行。开发容易:可以在短时间内完成一个功能强大又妤用的脚本。

2016-09-21 21:17:36 3708

转载 Linux之dd命令详解

Linux-dd命令详解 dd 是 Linux/UNIX 下的一个非常有用的命令,作用是用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。名称: dd 使用权限: 所有使用者dd 这个指令在 manual 里的定义是 convert and copy a file 使用方式: dd [option] 如果你想要在线看 manual, 可以试试: 

2016-09-20 21:21:07 2623

转载 C语言条件编译

假如现在要开发一个C语言程序,让它输出红色的文字,并且要求跨平台,在 Windows 和 Linux 下都能运行,怎么办呢?这个程序的难点在于,不同平台下控制文字颜色的代码不一样,我们必须要能够识别出不同的平台。Windows 有专有的宏_WIN32,Linux 有专有的宏__linux__,以现有的知识,我们很容易就想到了 if else,请看下面的代码:#inclu

2016-09-20 13:33:16 2583

原创 C语言宏使用常见问题

代码:#include#define MAX(a,b) a>b?a:b#define MIN(a,b) a>b?b:a//#define M (x+Y)#define M1(m) m*m#define M2(m) (m)*(m)#define M3(m) ((m)*(m))int main(){ int x,y,max,min; printf("Input one numbe

2016-09-20 11:24:05 2388

转载 字符串常量到底存放在哪个存储区

字符串常量,放在哪个存储区呢?是“自动存储区”还是“静态存储区”中?比如:char *pstr="hello world!";这里,"hello world!"是一个字符串常量,pstr是在栈中的变量。我想问,字符串常量,在哪个内存区域分配空间呢?好像应该不是在“栈区“分配空间吧!!!一、预备知识—程序的内存分配一个由C/C++编译的

2016-09-19 20:05:27 5870

原创 由于未分配内存的指针导致段错误

代码如下#includeusing namespace std;void f(char **s) { *s = "chenyu";}typedef struct _node { int val; struct _node *next;} Node;typedef struct _link { Node *front; Node *rear;} Link;vo

2016-09-19 19:59:48 2982

原创 深入 char * ,char ** ,char a[ ] ,char *a[]

 1 数组的本质   数组是多个元素的集合,在内存中分布在地址相连的单元中,所以可以通过其下标访问不同单元的元素。 2 指针。   指针也是一种变量,只不过它的内存单元中保存的是一个标识其他位置的地址。。由于地址也是整数,在32位平台下,指针默认为32位。。 3 指针的指向?   指向的直接意思就是指针变量所保存的其他的地址单元中所存放的数据类型。   int * p ;//p 变量保存的地址所...

2016-09-19 19:52:18 49680 12

转载 char *a 与char a[] 的区别和char** argv与char *argv[]区别

char *a 与char a[] 的区别char *a = "hello" 中的a是指向第一个字符‘a'的一个指针char a[20] = "hello" 中数组名a也是执行数组第一个字符‘h’的指针但二者并不相同:看实例:把两个字符串相加:结果:hello0123456789对比:Segmentat

2016-09-19 19:17:29 18711

转载 C语言中extern的用法

C语言中的Extern用法网上有很多帖子问C语言中Extern的用法,而且回答的详细程度各尽不同. 所以我就像写一篇博文来谈谈我对extern的看法,不一定十分恰当,只当大家共勉.在具体到Extern的用法之前,有两个概念必须要能分清楚:声明(Declaration)和定义(Definition)之间的区别. 声明一个变量只是宣布这个变量的属性,也就是说告诉编译器这个变量时什么类型(如int,

2016-09-14 18:08:18 2636

转载 java.io.File.setExecutable(boolean executable) 方法来设置所有者对于此抽象路径名执行权限。

java.io.File.setExecutable(boolean executable) 方法来设置所有者对于此抽象路径名执行权限。声明以下是 java.io.File.setExecutable(boolean executable) 方法的声明:public boolean setExecutable(boolean executable)参数exe

2016-09-13 22:43:48 6922

转载 Android之getCacheDir()和getFilesDir()方法区别

getCacheDir()和getFilesDir()方法区别.Activity提供了getCacheDir()和getFilesDir()方法:getCacheDir()方法用于获取/data/data//cache目录getFilesDir()方法用于获取/data/data//files目录//===========================================

2016-09-13 22:29:21 3942

转载 Android之监听应用的安装与卸载的广播

import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; import android.text.TextUtils; import andro

2016-09-12 17:07:32 9269 2

原创 ubuntu如何杀死进程

一、得到所有进程先用命令查询出所有进程ps -ef二、杀死进程我们使用ps -ef命令之后,就会得到一些列进程信息,有进程pid什么的,如果你要杀死莫个进程的话,直接使用命令kill pid

2016-09-12 15:12:17 28750

转载 tcpdump抓取HTTP包

http://blog.csdn.net/kofandlizi/article/details/8106841cpdump -XvvennSs 0 -i eth0 tcp[20:2]=0x4745 or tcp[20:2]=0x4854 0x4745 为"GET"前两个字母"GE"0x4854 为"HTTP"前两个字母"HT"说明:

2016-09-08 09:23:51 2494

转载 ubuntu设置代理 的三种方式

转载自:http://www.cnblogs.com/lexus/archive/2012/02/20/2359229.htmlubuntu下设置代理2010-01-11 20:13:20|分类:ubuntu总结|标签:|字号大中小订阅一、代理上网:方法一这是一种临时的手段,如果您仅仅是暂时需要通过http代理使用apt-get,您可以使用

2016-09-07 20:54:18 58303 3

原创 Android之Andorid studio 解决Error:Configuration with name ‘default‘ not found

在导入studio工程的时候,进行sync的时候,提示Error:Configuration with name ‘default’ not found.原因:打开settings.gradle发现里面有很多个include ‘:app’这样的include,然而发现在工程的目录下面根本没有include的项目,所以将需要include的项目添加进来,如果include的项目不

2016-09-07 18:57:59 4958 2

原创 Android之Android studio Gradle sync failed: Unknown host ‘services.gradle.org

错误描述:Gradle sync failed: Unknown host 'services.gradle.org'. You may need to adjust the proxy settings in Gradle. Consult IDE log for more details (Help | Show Log)解决办法:下载gradlectrl+alt

2016-09-07 18:46:53 19284 1

转载 linux之wc命令

Linux系统中的wc(Word Count)命令的功能为统计指定文件中的字节数、字数、行数,并将统计结果显示输出。1.命令格式:wc [选项]文件...2.命令功能:统计指定文件中的字节数、字数、行数,并将统计结果显示输出。该命令统计指定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入读取。wc同时也给出所指定文件的总统计数。3.命令参数:

2016-09-06 22:07:21 2923

原创 linux之ls只显示文件或者文件夹

只显示文件夹 ls -l | grep ^d只显示文件 ls -l | grep ^-解释一下:ls -l 之后会得到下面的内容drwx------ 4 jinwang users 4096 2012-02-09 15:00 .xchat2-rw-r--r-- 1 jinwang use

2016-09-06 22:03:34 7933

转载 linux之head命令

head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 想当然尔就是看档案的结尾。 1.命令格式:head [参数]... [文件]...  2.命令功能:head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。 3.命令参数:

2016-09-06 21:28:46 2290

转载 linux之tail 命令

tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容. 1.命令格式;tail[必要参数][选择参数][文件]   2.命令功能:用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查

2016-09-06 21:27:27 2199

转载 Android之广播监控wifi连接状态

package com.example.floatdialogtest; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.net.NetworkInfo; import androi

2016-09-05 20:56:49 3069

转载 Android之严苛模式(StrictMode)

Android 2.3提供一个称为严苛模式(StrictMode)的调试特性,Google称该特性已经使数百个Android上的Google应用程序受益。那它都做什么呢?它将报告与线程及虚拟机相关的策略违例。一旦检测到策略违例(policy violation),你将获得警告,其包含了一个栈trace显示你的应用在何处发生违例。你可以强制用警告代替崩溃(crash),也可以仅将警告计入日志,让你的

2016-09-03 22:10:03 2520

原创 Android之ndk之gdb调试

https://code.google.com/p/android/issues/detail?id=152832

2016-09-02 20:45:14 2348

WebViewTest.7z

Android长按WebView然后替换系统的菜单,自定义自己的菜单,比如“搜索”、“翻译”自己获取值了在自己的WebView里面进行相关操作。

2022-01-09

Android之常用命令和工具.pdf

1、里面有常见的如何快速获取app包名和拉取apk和直观的打日志的命令总结 2、快速获取启动奔溃日志的总结 3、一些日志工具和常见命令的分享 4、常见的逆向分析工具分享 5、常见的移动端抓包工具分享 6、移动端常用的文档分享 7、git和svn常用命令精简分享 8、移动端常用的hook分享(java层、c/c++层)

2021-04-01

TestDragRecycleView.7z

这里主要实现RecycleView的拖拽元素效果,和禁止哪些元素再拖拽的过程中不交换位置,一定可以保证功能没问题。

2020-12-30

AliHome.zip

主要是实现支付宝顶部上滑的时候,渐渐的变消失效果,然后部分布局又出现的效果,放到Android studio里面可以直接运行

2020-07-11

NotchScreenUtil.zip

这个资源主要是封装了对4种主流手机是否是刘海屏的判断,以及如何获取4种刘海屏高度的,比如oppo手机刘海屏高度固定80px等。

2020-03-06

math-basics.rar

宾夕法尼亚大学计算机和信息科学系教授 Jean Gallier 的开源书籍《 Algebra, Topology, Differential Calculus, and Optimization Theory For Computer Science and Engineering 》用一本书的容量解决了所有问题。 这本书涵盖了计算机科学所需的线性代数、微分和最优化理论等问题,可谓详尽。 链接: http://www.cis.upenn.edu/~jean/math-basics.pdf 这本书讲了什么? 这本书的主要目的是介绍线性代数和最优化理论的基础知识以及这些知识在机器学习、机器人学、计算机视觉等领域的应用。 该书包含以下 10 卷: 线性代数 仿射几何和射影几何 双线性形式的几何 几何:PID、UFD、诺特环、张量、PID 上的模块、规范形 拓扑和微分 最优化理论基础 线性优化 非线性优化 在机器学习中的应用

2019-08-01

动手学习深度学习PDF.rar

这个是最新出版的”动手深度学习“,我们可以在这里学习深度学习。

2019-06-22

c_log_to_file.txt

如果服务端是linux c/c++,你如果你在后台开了调试日志,如果日志打印很多,几秒时间就刷掉了,你需要打印关键日志,这个时候你可以用这个文件内容修改下把日志输入到指定文件里面

2019-06-15

Source Insight黑色和灰色的背景配置

这里主要是一些source insight背景的配置,有黑色和灰色,在D:\Users\User\My Document\Source Insight\Settings 这个目录下放进去,关闭source insight和打开source insight就行了

2019-04-23

Xshell5(Xshell5免费)

this is xhell5 . it can help me connect linux ,so you can use command at linux

2019-03-21

linux shell脚本攻略2

the pdf will tell you learn linux shell ,If you want to learn, please download the pdf

2019-03-06

linux网络编程和code

这里是关于linux的网络编程,和部分code,有需要的小伙伴可以直接到这里下

2018-12-22

C语言深度解剖

这里面是C语言深度解剖的pdf.我们学C的时候这个和一起对比学习

2018-12-14

linux高性能服务端编程

这个pdf里面介绍了linux高性能服务端编程,主要书用linux c/c++作为服务端.

2018-12-12

xshell(windows)

we need to use xshell at windows desktop. this will support you to download.

2018-12-05

linux网络源码分析

这是在网上下载的很好的网络源码分析的资料,分享给大家

2018-11-27

深入理解LINUX网络技术内幕

这是在网上看到的资料,我先下载下来然后再上传,怕以后用得到。

2018-11-27

linux多线程服务器编程

这是在公司同事那里看到的一本书,写的是linux多线程服务器编程

2018-11-16

qt client server

这是一个QT客户端和服务单的例子,非常经典,先保存起来

2018-11-02

c++编程实例

这里有很多C++的例子,方便快速入门,希望大家下载,我很多也不是很熟悉

2018-10-18

C++一些游戏源码

这里面很多c++的源码,适合新手写代码,里面有一些游戏

2018-10-18

判断手机是否打开消息通知

这个类主要是帮助我们在android移动端判断是否开启了"消息通知"的权限,同时打开相应的界面,也支持Androd8.0

2018-09-23

Android打印当前app的日志工具类

这个脚本注意是利用了pidcat.py这个脚本,然后放到linux系统的/usr/local/bin/目录下,然后执行pcat命令就可以打印当前页面的app日志

2018-09-20

打开自启动的帮助类

这里主要是打开安卓各个手机的的"自启动"或"受保护"或"百名单"的页面,适配了华为 小米 vivo oppo 三星 魅族 360手机

2018-09-20

压缩文件的工具类

Android压缩sdcard目录下的文件,压缩成zip格式的文件,压缩率1:20

2018-09-08

Android调用第三方的so

Android调用第三方的so,简单开发的配置mk文件,然后和调用代码测试

2018-09-08

HttpURLConnection的封装

HttpUrlConnect的封装,我们可以使用HttpRequest来请求一些东西

2018-06-08

pidcat.py_in_ubuntu

In order to print Android log and have class name, We often use the pidcat.py on ubuntu, This will help me sovle problem better

2018-05-12

网络请求工具

网络请求的部分工具

2018-05-09

Android下载APK

Android下载APK简单例子,这里有提示框,然后提示进度。

2018-04-25

pc web access phone file

this is Android program, and jni using c language, we can use web browser to access phone sdcard file and download wo required file

2017-12-25

ndk调用第三方so

ndk调用第三方sondk调用第三方sondk调用第三方sondk调用第三方so

2017-12-02

Android三级列表

用ExpandableListView写的三级列表

2017-05-11

Hook StartActivity Demo

Hook StartActivity Demo

2016-11-17

jadx用开反编译APK的工具

you can gadx apk on windows or linux

2016-11-15

ubuntu上面使用jni例子

ubuntu上面使用jni例子

2016-11-07

TrayPreferences需要的包

使用跨进程的TrayPreferences需要的包

2016-08-27

zxingproject

最简单的扫二维码,我到网上找了很多资源,不是少了这里就是少了那里,都不是很全面,这个是组简单的。

2016-01-05

MPAndroidChart让(折线图、柱形图、饼状图、散列图、雷达图)优雅的舞动

Android之玩转MPAndroidChart让(折线图、柱形图、饼状图、散列图、雷达图)优雅的舞动

2015-11-30

手机摇一摇震动刷新(支持ListView GridView WebView)

这是我写的手机摇一摇震动刷新(支持支持ListView GridView WebView)并生成二维码的源码,我的Github上面有更多的效果介绍,有兴趣的小伙伴猛戳吧,https://github.com/changechenyu/ShakeToFresh 如果觉得很好玩或者有创意就star我吧

2015-11-09

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

TA关注的人

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