易截截图软件、单文件、免安装、纯绿色、仅160KB

Java基于可扩充数组的向量实现(算法源码)

/* 高手之作,本人谨以收藏者身份拿出共享供大家参考! */
/*
 * 向量接口
 */
package dsa;
public interface Vector {
//返回向量中元素数目
 public int getSize();
//判断向量是否为空
 public boolean isEmpty();
//取秩为r的元素
 public Object getAtRank(int r)
 throws ExceptionBoundaryViolation;
//将秩为r的元素替换为obj
 public Object replaceAtRank(int r, Object obj)
 throws ExceptionBoundaryViolation;
//插入obj,作为秩为r的元素;返回该元素
 public Object insertAtRank(int r, Object obj)
 throws ExceptionBoundaryViolation;
//删除秩为r的元素
 public Object removeAtRank(int r)
 throws ExceptionBoundaryViolation;
}
/*
 * 基于数组的向量实现
 */
package dsa;
public class Vector_Array implements Vector {
 private final int N = 1024;//数组的容量
 private int n = 0;//向量的实际规模
 private Object[] A;//对象数组
//构造函数
 public Vector_Array() {
  A = new Object[N];
  n = 0;
 }
//返回向量中元素数目
 public int getSize() { return n; }
//判断向量是否为空
 public boolean isEmpty() { return (0 == n) ? true : false; }
//取秩为r的元素
 public Object getAtRank(int r)//O(1)
 throws ExceptionBoundaryViolation {
  if (0 > r || r >= n) throw new ExceptionBoundaryViolation("意外:秩越界");
  return A[r];
 }
//将秩为r的元素替换为obj
 public Object replaceAtRank(int r, Object obj)
 throws ExceptionBoundaryViolation {
  if (0 > r || r >= n) throw new ExceptionBoundaryViolation("意外:秩越界");
  Object bak = A[r];
  A[r] = obj;
  return bak;
 }
//插入obj,作为秩为r的元素;返回该元素
 public Object insertAtRank(int r, Object obj)
 throws ExceptionBoundaryViolation {
  if (0 > r || r > n) throw new ExceptionBoundaryViolation("意外:秩越界");
  if (n >= N) throw n


相关文档:

Java开源 J2EE框架工具

Spring Framework 【Java开源 J2EE框架】
Spring是一个解决了许多在J2EE开发中常见的问题的强大框架。 Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。Spring的架构基础是基于使用JavaBean属性的Inversion of Control容器。然而,这仅仅是完整图景中的一部分:Spring在使用IoC容器 ......

内存监视 Java 源代码

/*
 * @(#)MemoryMonitor.java 1.3 05/11/17
 *
 * Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are ......

Ubuntu Install Java JDK and JRE

Ubuntu Linux Install Sun Java Development Kit ( JDK ) and Java Runtime Environment ( JRE )
by Vivek Gite
 
Q.
How do I install Sun
Java Development Kit (JDK) and Java Runtime Environment (JRE) under
Ubuntu Linux? It appears that there are multiple JRE installed by
default under Ubuntu. ......

Effective Java 学习笔记 (6)

及时消除不使用的对象的引用, 理论上, 带有内存管理的语言是不存在内存泄漏的, 但是如果对对象的操作不当,也是可能会造成内存泄漏. 如有一个stack, 其pop函数如下. public Object pop() {                if( Element.length() == 0) return nu ......

java上溯

JAVA是强类型的语言。当引用对象的时候,如果是上溯的话,需要强制转换。如你上面写的,
PiePlot p = (PiePlot)Plot,这就是上溯,生成实例时引用的是父类,需要强制转换,所以就需要加个(PiePlot)来声明Plot(Plot是父类)。 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号