摘要: java中的数据类型,可分为两类:1.基本数据类型,也称原始数据类型。byte,short,char,int,long,float,double,boolean 他们之间的比较,应用双等号(==),比较的是他们的值。2.复合数据类型(类) 当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址,所以,除非是同一个new出来的对象,他们的比较后的结果为true,否则比较后结果为false。 JAVA当中所有的类都是继承于Object这个基类的,在Object中的基类中定义了一个equals的方法,这个方法的初始行为是比较对象的内存地址,但在一些类库当中这个方法被覆盖掉了,如String, 阅读全文
posted @ 2012-10-07 15:53 寻梦尤风 阅读(290) 评论(0) 推荐(0) 编辑
摘要: 基于上篇博客最后的思路做以修改package com.quickSort2;public class ArrayIns { private int nElems; private int[] arr; public ArrayIns(int max) { arr = new int[max]; nElems = 0; } public int size() { return nElems; } public void insert(int value) { arr[nElems++] = value; } public void display() { for (int i = 0;... 阅读全文
posted @ 2012-10-06 19:36 寻梦尤风 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 在划分的基础上进行快速排序:思路:递归调用快速排序(recQuickSort(left,right))方法,pivot选取节点right的值(改进时可以将pivot设置为数据项最左端,最右端,和中间值的平均值)if(left<=right) return;else { int pivot = arr[right]; int position = partitionIt(left, right, pivot); recQuickSort(left, position - 1); recQuickSort(position + 1, right); }源代码:package com.quic 阅读全文
posted @ 2012-10-06 11:02 寻梦尤风 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 目标:在一组数a0,a1,a2,a3,a4,a5,a6,a7,a8,a9中尽量取其中间值,以此为pivot,值大于pivot的元素置于pivot左边,反之至于右边。源代码:package com.paixu;public class ArrayPar { private int nElems; private long[] arr; public ArrayPar(int max){ arr = new long[max]; nElems =0; } public void insert(long value){ arr[nElems+... 阅读全文
posted @ 2012-10-06 09:49 寻梦尤风 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 迭代器(Iterator) 迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构。迭代器通常被称为“轻量级”对象,因为创建它的代价小。 Java中的Iterator功能比较简单,并且只能单向移动: (1) 使用方法iterator()要求容器返回一个Iterator。第一次调用Iterator的next()方法时,它返回序列的第一个元素。注意:iterator()方法是java.lang.Iterable接口,被Collection继承。 (2) 使用next()获得序列中的下一个元素。 (3) 使用hasNext()检查序列中是否还... 阅读全文
posted @ 2012-10-05 21:09 寻梦尤风 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 自己所写没有凭据,但自己想到的测试没错,若有错希望大家指出。(类似123000这种情况源码中未写,但思路给出。相信这不是啥难题)。思路:原始输入oriNum,最终数endNumif(oriNum % 10 !=9 && oriNum % 100 !=0) endNum = oriNum -9;else if(oriNum % 100 ==0) 1.找到第一个不为0的数位a(将其减一); 2.a的下一位加一 3.其余位不变else(处理类似1234999这种末位有几位9的情况){ 设置两个标志位flag1(末位含9的位数)和flag2(输入数据位数) if(flag1 == fl 阅读全文
posted @ 2012-10-05 12:02 寻梦尤风 阅读(305) 评论(0) 推荐(0) 编辑
摘要: 大数阶乘的计算是一个有趣的话题,从中学生到大学教授,许多人都投入到这个问题的探索和研究之中,并发表了他们自己的研究成果。如果你用阶乘作关键字在google上搜索,会找到许多此类文章,另外,如果你使用google学术搜索,也能找到一些计算大数阶乘的学术论文。但这些文章和论文的深度有限,并没有给出一个高速的算法和程序。我和许多对大数阶乘感兴趣的人一样,很早就开始编制大数阶乘的程序。从2000年开始写第一个大数阶乘程序算起,到现在大约己有6-7年的时光,期间我写了多个版本的阶乘计算器,在阶乘计算器的算法探讨和程序的编写和优化上,我花费了很大的时间和精力,品尝了这一过程中的种种甘苦,我曾因一个新算法的 阅读全文
posted @ 2012-10-04 12:21 寻梦尤风 阅读(1256) 评论(0) 推荐(0) 编辑
摘要: package com.donghao.shellSort;public class ShellSort { public static void main(String[] args){ int maxSize = 10; ArraySh arr; arr = new ArraySh(maxSize); for(int i=0;i<10;i++){ long n = (int)(Math.random() * 100); arr.insert(n); } System.out.println("排序前"); arr.display(); Syste... 阅读全文
posted @ 2012-10-04 10:49 寻梦尤风 阅读(224) 评论(0) 推荐(0) 编辑
摘要: package com.donghao.anagram;import java.util.Scanner;public class AnagramApp { static int size; static int count; static char[] arrChar = new char[100]; static int flag = 0; public static void main(String[] args){ System.out.println("Please enter a word"); Scanner scan = n... 阅读全文
posted @ 2012-10-04 09:09 寻梦尤风 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 类图是面向对象系统建模中最常用的图. 是定义其他图的基础.类图主要是用来显示系统中的类, 接口以及它们之间的关系.类图包含的主要元素有类, 接口和关系. 其中关系有泛化关系,关联关系,依赖关系和实现关系. 在类图中也可以包含注释和约束.1、 类的表示法类是类图的主要组件, 由 3 部分组成:类名, 属性和方法. 在 UML 中, 类用矩形来表示, 顶端部分存放类的名称, 中间部分存放类的属性, 属性的类型及值, 底部部分存放类的方法, 方法的参数和返回类型.在 UML 中可以根据实际情况有选择的隐藏属性部分或方法部分或两者都隐藏在 UML 中,公有类型有 + 表示, 私有类型用 – 表示, 保 阅读全文
posted @ 2012-10-01 22:43 寻梦尤风 阅读(217) 评论(0) 推荐(0) 编辑