- 博客(14)
- 资源 (5)
- 收藏
- 关注
原创 Java Comparable 解决排序问题
一次举重竞赛的比赛规则是:选手的成绩以成功举起的总重量来排序,举起总重量多的排在前面;当举起总重量相同时,按照体重来排序,体重轻的排在前面;要求程序读取数据文件作为输入,并按照上述规则排序后,打印出选手编号;数据文件说明如下:现有5名选手,其选手编号、成功举起的总重量及其体重如数据文件data4.txt,样例内容为:114054215553
2012-03-30 16:18:11 2958
原创 java 模拟公告板 wait -notify 实例
关于java多线程中数据同步问题——共享资源,经常用的是生产者和消费这问题,类似的还有公告板的问题。这里给一个实例。首先说公告板,只有公告板上有内容,浏览者才能读取内容,如果公告板没有内容,那么必须等待先写入,只有写入了才能读取。所以应该有三个实体类:一个是MessageBoard即公告板Reader 读取Writer 写入对于通俗的约定来说,公告板开始时是空的,所以必须先
2012-03-29 22:06:30 2245
原创 基本排序算法
选择排序将要排序的对象分作两部份,一个是已排序的,一个是未排序的,从后端未排序部份选择一个最小值,并放入前端已排序部份的最后一个,例如:排序前:70 80 31 37 10 1 48 60 33 80[1] 80 31 37 10 70 48 60 33 80 选出最小值1[1 10] 31 37 80 70 48 60 33 80 选出最小值10[1 10 31] 3
2012-03-24 23:32:32 371
原创 几种排序算法的实现及简单分析
package test;public class first {/*普通的插入排序*/public void insertSort(int[] list) {int i, j;list[0] = -999;//相当于设置一个监视哨兵,不用判断是否越界,但要求数组从第二个数开始即i=1开始存储for (i = 1; i j = i;while (list
2012-03-12 17:04:52 382
转载 关于中文乱码很透彻的分析与解决方法
一、中文问题的来源 计算机最初的操作系统支持的编码是单字节的字符编码,于是,在计算机中一切处理程序最初都是以单字节编码的英文为准进行处理。随着计算机的发展,为了适应世界其它民族的语言(当然包括我们的汉字),人们提出了UNICODE编码,它采用双字节编码,兼容英文字符和其它民族的双字节字符编码,所以,目前,大多数国际性的软件内部均采用UNICODE编码,在软件运行时,它获得本地支持系统(多数时间是操
2012-03-11 22:21:48 830
原创 关于Java中初始化顺序的问题
在遇到关于Java考试内容的时候总会避免不了一些初始化顺序的问题,究竟是谁先被初始化,在Think in Java 中作者是这样阐述的,希望对迷茫的人有帮助。 初始化的顺序是首先static(如果它们尚未由前一次对象创建过程初始化),接着是非static 对象。大家可从输出结果中找到相应的证据。在这里有必要总结一下对象的创建过程。请考虑一个名为Dog 的类:(1) 类型为Dog
2012-03-11 16:01:08 437
原创 快速排序
快速排序Java代码 public class Quick { public static int[] Data = { 9, 8, 7, 4, 1, 12, 15, 63, 15, 20 }; public static void quick(int left, int right) { int i, j; int Pivot; int temp; i
2012-03-10 23:32:25 352
原创 Warshall算法求传递闭包
求一个邻接矩阵的传递闭包其实算法与Floyd算法大致相似,只是把最后的一行适当的调整就可以了void Warshall(A,C,n){for(int i=1;ifor(int j=1;j A[i][j]=C[i][j];for(k=1;kfor(i=1;i for(j=1;jA[i][j]=(A[i][k]逻辑乘A[k][j])逻辑加A[i][j];
2012-03-06 21:23:46 1320
原创 求闭包的Warshall算法
求一个邻接矩阵的传递闭包其实算法与Floyd算法大致相似,只是把最后的一行适当的调整就可以了void Warshall(A,C,n){for(int i=1;ifor(int j=1;j A[i][j]=C[i][j];for(k=1;kfor(i=1;i for(j=1;jA[i][j]=(A[i][k]逻辑乘A[k][j])逻辑加A[i][j];
2012-03-06 21:22:43 877
原创 求任意两点间的最短路径
求图中的任意两点间的最短距离,我们可以简单的n次调用Dijikstra方法,虽然算法的效率也是N的三次方,但是用Floyd算法更简洁,执行起来比前者更高效void Floyed(A,C,n){for(int i=1;ifor(int j=1;j A[i][j]=C[i][j];for(k=1;kfor(i=1;i for(j=1;jif(A[i][k]+A[
2012-03-06 21:18:18 1077
原创 单元最短路径
单元最短路径的最常用的算法就是Dijkstra算法,这是一种按照路径长度递增次序,逐步产生的贪心算法。假设图用邻接矩阵表示:大致思想就是将,顶点划分为两部分:S和V-S,每次从V-S中选择一个w加入s使得S中从原点出发到达其余的顶点最短,循环执行,直到V-S为空。伪代码:void Dijikstra(Grapic C){S={1};for(int i=2;i<=n;i++)D[i]=C[1][i]
2012-03-06 21:11:42 983
原创 删除二叉树中的节点——归并删除法
实现的思想很简单:first:找到要删除的节点second:如果删除的节点没有右子树那么左子树链到父节点third:如果删除的节点没有左子树那么右子树链到父节点forth:如果删除的节点又左右孩子,那么可以归并删除节点后的子树:方法有两种一种是用删除节点的左子树的最右节点,指向删除节点的右子树,另一种是用删除节点的用字数的最左节点指向删除节点的左子树。Java 实现如下:p
2012-03-04 11:50:09 1383
原创 在二叉树中删除一个节点——归并删除法
实现的思想很简单:first:找到要删除的节点second:如果删除的节点没有右子树那么左子树链到父节点third:如果删除的节点没有左子树那么右子树链到父节点forth:如果删除的节点又左右孩子,那么可以归并删除节点后的子树:方法有两种一种是用删除节点的左子树的最右节点,指向删除节点的右子树,另一种是用删除节点的用字数的最左节点指向删除节点的左子树。Java 实现如下:p
2012-03-04 11:49:03 2877
原创 向二叉树中插入节点
就是为新插入的数据找一个适合的位置java 实现:public void insert(int el){IntBSTNode p=root,prev=null;while(p!=null){ prev=p;if(p.keyp=p.right;else p=p.left;} if(root==null){root=new IntBST
2012-03-04 10:49:55 762
SSDB.rar(MysqL数据库和Java编程)
2011-01-18
shijianbaogao.rar(UML ,数据结构,Linux,Java各种实验的报告和源代码)
2011-01-18
PuKe.rar(Java程序,实现图片的旋转,放缩)
2011-01-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人