- 博客(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
Android之常用命令和工具.pdf
2021-04-01
math-basics.rar
2019-08-01
c_log_to_file.txt
2019-06-15
Source Insight黑色和灰色的背景配置
2019-04-23
Xshell5(Xshell5免费)
2019-03-21
linux shell脚本攻略2
2019-03-06
xshell(windows)
2018-12-05
Android打印当前app的日志工具类
2018-09-20
pidcat.py_in_ubuntu
2018-05-12
pc web access phone file
2017-12-25
MPAndroidChart让(折线图、柱形图、饼状图、散列图、雷达图)优雅的舞动
2015-11-30
手机摇一摇震动刷新(支持ListView GridView WebView)
2015-11-09
Android怎么sp怎么确保多进程
2018-05-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人