zoukankan      html  css  js  c++  java
  • Java有序数组的实现

    package 有序数组;
    
    public class OrdArray {
    
    	private long[]array;
    	private int nElems;
    	//初始化
    	public OrdArray(int max){
    		array = new long[max];
    		nElems = 0;
    	}
    	//返回数组中的大小
    	public int size(){
    		return nElems;
    	}
    	//查找的方法的实现
    	public int find(long searchKey){
    		int lowerBound = 0;
    		int upperBound = nElems-1;
    		int curIn;
    		while (true) {
    			curIn = (lowerBound+upperBound)/2;
    			if (array[curIn] == searchKey) {
    				return curIn;
    			} else if (lowerBound > upperBound) {
    				return nElems;
    			} else {
    				if (array[curIn] < searchKey) {
    					lowerBound = curIn+1;
    				} else {
    					upperBound = curIn-1;
    				}
    			}
    			
    			
    		}
    		
    	}
    
    	//插入方法的实现
    	public void insert(long value) {
    		int j = 0;
    		for (j = 0;j<nElems;j++) {
    			if (array[j] > value) {
    				break;
    			}
    		}
    		//移动元素找到要插入的位置
    		for (int k = nElems;k>j;k--) {
    			array[k] = array[k-1];
    		}
    		array[j] = value;
    		nElems++;
    		
    		
    		
    	}
    
    	//删除一个元素的实现
    	public boolean delete(long value){
    		int j = find(value);
    		if (j == nElems) {
    			return false;
    		}else{
    			for (int k = j;k < nElems;k++) {
    				array[k] = array[k+1];
    			}
    			nElems--;
    			return true;
    		}
    	}
    	//打印有序数组中的元素的值
    	public void display(){
    		for (int i = 0;i<nElems;i++) {
    			System.out.print(array[i]+" ");
    		}
    		System.out.println();
    	}
    	
    	
    }
    

      

  • 相关阅读:
    cookie简介
    Javaweb
    apache-tomcat-7.0.92
    学javaweb 先学Servlet 应用理论很重要
    DataGuard切换(主库为Rac+备库为Rac)
    Oracle 迁移 序列
    oracle SQL 执行进度
    ORA-20011 ORA-29913 KUP-11024 GATHER_TABLE_STATS
    盘点 Oracle 11g 中新特性带来的10大性能影响
    查询近一个月的表空间使用情况
  • 原文地址:https://www.cnblogs.com/airycode/p/5129870.html
Copyright © 2011-2022 走看看