- 浏览: 30836 次
- 性别:
- 来自: 深圳
最新评论
-
yuanzher:
我想问一下,可不可以在子窗口中再打开第三个窗口哇,做到一步时, ...
使用TableViewer动态增加一行值时老是报错 -
yuanzher:
旧的问题还没有解决,新的问题又来了,我是个小菜鸟。
使用TableViewer动态增加一行值时老是报错
文章列表
Spring对hibernate配置文件hibernate.cfg.xml的集成,来取代hibernate.cfg.xml的配置
spring对hibernate配置文件hibernate.cfg.xml的集成相当好,可以在Spring中配置Hibernate的SessionFactory从而取代Hibernate.cfg.xml和HibernateSessionFactory.java
Spring在集成Hibernate时又分为两种形式:(集成后就不需要Hibernate.cfg.xml了)1、继续使用Hibernate的映射文件*.hbm.xml2、使用jpa注解形式的pojo对 ...
插入排序(I)
直接插入排序
直接插入排序是一种最简单的排序方法,它的基本操作是将一个记录插入到已排好的有序的表中,从而得到一个新的、记录数增1的有序表。
当前元素的前面元素均为有序,要插入时,从当前元素的左边开始往前找(从后往前找),比当前元素大的元素均往右移一个位置,最后把当前元素放在它应该呆的位置就行了。
直接插入排序过程实例
比如对 21、25、49、25、16、8这些数排序:
直接插入排序分析
移动、比较的次数可作为衡量时间复杂性的标准。
最优情况:如果原始的输入序列为正序:
比较次 ...
希尔排序
希尔排序(Shell’s Sort)又称“缩小增量排序”(Diminishing Increment Sort),它也是一种属于插入排序类的方法,但在时间效率上比直接插入排序方法有较大的改进。
从对直接插入排序的分析得知,其算法时间复杂度为O(n2),但是,若待排记录序列为“正序”时,其时间复杂度可提高至O(n),由此可设想,若待排记录序列按关键字“基本有序”,直接插入排序的效率就可以大大提高。从另一方面来看,由于直接插入排序算法简单,所以在n值很小时效率比较高。希尔排序正是从这两点分析出发对直接插入排序进行改进而得到的一种插入排序方法。
希尔排序的基本思想是 ...
【转】二叉树及二叉树的遍历
- 博客分类:
- java工具
二叉树(binary tree)
二叉树的定义
二叉树的定义:树的度为2的树。
二叉树的递归定义:二叉树或者是一棵空树,或者是一棵由一个根结点和两棵互不相交的左子树和右子树所组成的非空树,而左右子树又都是一棵二叉树。
二叉树的性质
1.第i层上至多有2的i-1次方个结点。
2.深度为h的二叉树至多有2的h次方减1个结点。
3.每一层都满的二叉树称为满二叉树,只在最后一层右边缺若干个结点的树称为完全二叉树。
(对结点的编号通常都是从满二叉树的树根开始,从上到下从左到右编号)。
完全二叉树的重要性质:
根结点序号为i=1的情况下:
1.编 ...
1.利用Math.round()的方法:两个int型的数相除,结果保留小数点后两位:int a=1188;int b=93;double c;c=(double)(Math.round(a*100/b)/100.0);//这样为保持2位打印结果:c=0.12c=new Double(Math.round(a*1000/b)/1000.0);//这样为保持3位打印结果:c=0.0122.另一种办法import java.text.DecimalFormat;DecimalFormat df2 = new DecimalFormat("###.00");//这样为保持2位De ...
1、去除不需要加载的模块
一个系统20%的功能往往能够满足80%的需求,MyEclipse也不例外,我们在大多数时候只需要20%的系统功能,所以可以将一些不使用的模块禁止 加载启动。通过Windows - Preferences打开配置窗口,依次选择左侧 ...
---------------------------------------数据库---------------------------------------创建表create table TABLE_NAME( 'id' int(10) NOT NULL, 'name' varchar(30) default NULL, 'address' varchar(100) default NULL, PRIMARY KEY ('id'))修改表名rename table TABLE_NAME_OLD to TABLE_NAME_NEW;创建视图create view VIEW_NAME as ...
Ext.onReady(function() {
Ext.QuickTips.init();
//Ext.MessageBox.alert("hello", "HelloWorld"); //hello表示弹出框的标题。。HelloWorld表示弹出框的内容
var form = new Ext.form.FormPanel({
baseCls: 'x-plain',
layout:'absolute',
url:'save-form.php',
...
import java.lang.reflect.Field;
public class ReflectClass3 {
/**
* @param args
*/
public static void main(String[] args) {
Person p = new Person(1, "ctl", true, 'c', 2.0f, 2.0, 1L, (short) 1,
(byte) 1);
p.setId(0);
p.setName("张三");
p.setIsMen(tru ...
快速排序 Quick Sort
快速排序的基本思想是,通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。
一趟快速排序(或一次划分)的过程如下:首先任意选取一个记录(通常可选第一个记录)作为枢轴(或支点)(pivot),然后按下列原则重新排列其余记录:将所有关键字比它小的记录都安置在它的位置之前,将所有关键字比它大的记录都安置在它的位置之后。
经过一趟快速排序之后,以该枢轴记录最后所落的位置i作分界线,将序列分割成两个子序列,之后再分别对分割所得的两个子序列进行快速排序。
...
堆排序是一种选择排序,其时间复杂度为O(nlogn)。
堆的定义
n个元素的序列{k1,k2,…,kn}当且仅当满足下列关系之一时,称之为堆。
情形1:ki <= k2i 且ki <= k2i+1 (最小化堆或小顶堆)
情形2:ki >= k2i 且ki > ...
选择排序 Selection Sort
选择排序的基本思想是:每一趟在剩余未排序的若干记录中选取关键字最小的(也可以是最大的,本文中均考虑排升序)记录作为有序序列中下一个记录。
如第i趟选择排序就是在n-i+1个记录中选取关键字最小的记录作为有序序列中第i个记录。
这样,整个序列共需要n-1趟排序。
简单选择排序
一趟简单选择排序的操作为:通过n-i次关键字的比较,从n-i+1个记录中选择出关键字最小的记录,并和第i个记录交换之。
代码如下:(假设记录为整型,并且关键字为其本身)
Selection Sort
typedef int Elem ...
递归
所谓递归(Recursion),就是方法调用自身。
对于递归来说,一定有一个出口,让递归结束。这样才能保证不出现死循环。
关于递归,比较简单且典型的例子是计算阶乘、计算斐波那契数列等。
本文是在学习Java的File类时遇到的两个实际问题,一个是文件删除,另一个是将文件目录用树形结构显示(利用缩进),这两个问题都可以用递归解决。
解决删除文件的问题
File类中删除文件或目录的方法是:
public boolean delete()
如果要删除的是一个目录,则要求目录必须为空。这在很多时候是不能满足的,那么就需要进入到这个目录中,先将其中 ...
正则表达式定义
正则表达式,Regular Expression,也常被简写为regex,regexp或RE.
通常用一个正则表达式描述一个特征,然后去验证其他字符串是否符合这个特征.
正则表达式也常被称作一个模式(pattern).
PS:正则表达式精确的语法可能会因程序语言或工具的不同而有所差异.
PPS:本文是学习之记录,如有不妥还望指正.
普通字符和特殊字符
字符分为普通字符和特殊字符.
特殊字符也被称为元字符.
普通字符匹配与自身完全 ...
【转】设计模式之简单工厂模式
- 博客分类:
- java
转自:http://www.cnblogs.com/shenliang123/archive/2012/05/10/2494412.html
简单工厂模式就是将多个类对象交给工厂类来生成的设计方式
在不使用工厂模式前我们一般在某个类A中需要使用到类B的方法,那么我们首先想到的就是将类B在类A中进行实例化即B 实例 = new B();这样的方式对于我们初学者或者是小型的项目应该是不会构成威胁的,但是如果这个是一个应用于大型的项目,用户的需求也是经常需要改变的,如果我们使用这种方式硬编码耦合的方式来进行编码,那么如果需求驱使我们必须将B类换成C类,那么我们就只能去A类中进行更改;但在一个大型 ...