Ubuntu中的解压缩文件的方法



Ubuntu中的解压缩文件的方法。

记录Ubuntu下各种压缩和解压方式:

.tar
解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
(注:tar是打包,不是压缩!)
———————————————
.gz
解压1:gunzip FileName.gz
解压2:gzip -d FileName.gz
压缩:gzip FileName
.tar.gz
解压:tar zxvf FileName.tar.gz
压缩:tar zcvf FileName.tar.gz DirName
————————[......]

Read more

Java版数据结构和算法设计二分查找



Java版数据结构和算法设计二分查找。

1、前提:二分查找的前提是需要查找的数组必须是已排序的,我们这里的实现默认为升序

2、原理:将数组分为三部分,依次是中值(所谓的中值就是数组中间位置的那个值)前,中值,中值后;将要查找的值和数组的中值进行比较,若小于中值则在中值前面找,若大于中值则在中值后面找,等于中值时直接返回。然后依次是一个递归过程,将前半部分或者后半部分继续分解为三部分。可能描述得不是很清楚,若是不理解可以去网上找。从描述上就可以看出这个算法适合用递归来实现,可以用递归的都可以用循环来实现。所以我们的实现分为递归和循环两种,可以根据代码来理解算法

3、实现:代[......]

Read more

Java数据结构和算法设计八大内部排序实例源码

Java数据结构和算法设计八大内部排序实例源码。

摘要:

 

前几天,看到一篇前辈的博文“程序员必知的8大排序”,不禁的手痒起来,重新翻开严蔚敏老师的《数据结构》复习了一遍,然后一一的用java去实现,其中有不足之处,还望各位道友指正出来。

 

先来看看8种排序之间的关系:

 

第一:直接插入排序

1. 基本思想:在要排序的一组数中,假设前面(n-1) [n>=2] 个数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。

2. 实例

[......]

Read more

Java据结构和算法设计求子数组和的最大值

题目:

输入一个整形数组,数组里有正数也有负数。

数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。

求所有子数组的和的最大值。

例如输入的数组为1, -2, 3, 10, -4, 7, 2, -5,和最大的子数组为3, 10, -4, 7, 2,

因此输出为该子数组的和18。

 

第一种方法:

很容易想到的,就是使用双重循环:

第一层是寻找子数组中的开始位置:i

第二层是寻找子数组中的结束位置:j

代码如下:

 

[......]

Read more

一个比较经典的问题,判断两个链表是否相交,如果相交找出他们的交点。

一个比较经典的问题,判断两个链表是否相交,如果相交找出他们的交点。

题目:

一个比较经典的问题,判断两个链表是否相交,如果相交找出他们的交点。

image

 

首先来看一下如何判断两个链表是否存在相交的节点:

思路:

1、碰到这个问题,第一印象是采用hash来判断,将两个链表的节点进行hash,然后判断出节点,这种想法当然是可以的。

2、当然采用暴力的方法也是可以的,遍历两个链表,在遍历的过程中进行比较,看节点是否相同。

3、第三种思路是比较奇特的,在编程之美上看到的。先遍历第一个链表到他的尾部,然后将尾部的next指针指向第二个链表(尾部[......]

Read more

数据结构和算法设计专题之—单链表中在指定的节点前面插入以及删除一个节点

题目:

在给定头结点的单链表中插入以及删除指定节点

这个题目我们遇到这个问题的时候可能会想这个该怎么解,我们知道如果在一个已知的节点之后添加和删除一个节点的话很容易的,那么如何在给定的节点之前插入一个节点以及删除指定节点?因为如果想删除和插入一个节点的话,肯定是需要获取前面的一个节点的,但是根据题目所给的条件中,我们可以看到我们是不可能获取到前面的一个节点的,所以得另外去想思路了,最后在编程之美中发现了这道题的解法,说实话,那真是很优雅的解决方案,而且很巧妙

 

1.在一个节点之前插入一个节点

思路如下:

假设我们想在节点P之前添加一个节点,如图所[......]

Read more

Android中当数据库需要更新时我们该怎么办?

Android中当数据库需要更新时我们该怎么办?

问题:Android数据库更新并保留原来的数据如何实现

Andoird的SQLiteOpenHelper类中有一个onUpgrade方法。帮助文档中只是说当数据库升级时该方法被触发。经过实践,解决了我一连串的

疑问: 1. 帮助文档里说的“数据库升级”是指什么? 你开发了一个应用,当前是1.0版本。该程序用到了数据库。到1.1版本时,你在数据库的某个表中增加了一个字段。那么软件1.0版本用的数据库在软件1.1版本就要被升级了(当然这里的升级包括两个概念,一个是应用升级还有就是数据库升级)

关于应用升级我们知道直接在And[......]

Read more

Android中如何做到自定义的广播只能有指定的app接收

Android中如何做到自定义的广播只能有指定的app接收。

题目:Android中如何做到自定义的广播只能有指定的app接收

思路:其实我当时第一次想到的答案应该是给广播添加访问权限,但是我之前弄过给Activity的访问添加过权限,所以这里不确定对不对,但是我感觉Android中的四大组件应该一样吧。擦,结果被我蒙对了。哈哈~~

 

我们在使用Android中的API形式,或者使用adb命令都可以在外部打开一个应用的Activity/Service,以及发送一个广播。所以这个对于一个应用来说是很不安全的。即权限是一种保护机制。

 

解[......]

Read more

Android的AsyncTask类介绍

Android的AsyncTask类介绍。

之前我们解读了Handler机制,今天再来看一下AsyncTask类,因为这两个类使我们在Android进行耗时的操作的时候,不影响主线

程的情况下经常使用的两个类,我们先来看一下AsyncTask类源码中定义的变量:

[java] view plaincopyprint?在CODE上查看代码片派生到我的代码片
  1. private static final ThreadFactory sThreadFactory = new ThreadFactory() {
  2.     private final AtomicInteger mCount = new At[......]

Read more

Android的AsyncTask类介绍

Android的AsyncTask类。

之前我们解读了Handler机制,今天再来看一下AsyncTask类,因为这两个类使我们在Android进行耗时的操作的时候,不影响主线

程的情况下经常使用的两个类,我们先来看一下AsyncTask类源码中定义的变量:

[java] view plaincopyprint?在CODE上查看代码片派生到我的代码片
  1. private static final ThreadFactory sThreadFactory = new ThreadFactory() {
  2.     private final AtomicInteger mCount = new Atom[......]

Read more