JAVA数据结构一 二分查找
package com.data.array; public class OrderArray { private long[] a; private int nElems; public OrderArray(int max){ a = 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(a[curIn]==searchKey) return curIn; else if(lowerBound > upperBound) return nElems; else{ if(a[curIn]<searchKey) lowerBound = curIn + 1; else upperBound = curIn - 1; } } } public void insert(long value){ int j; for(j=0;j<nElems;j++){ if(a[j] > value) break; } for(int k=nElems;k>j; k--) a[k] = a[k-1]; a[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++) a[k] = a[k+1]; nElems--; return true; } } public void display(){ for(int j = 0 ; j< nElems ; j ++){ System.out.print(a[j] + " "); } System.out.println(" "); } }
相关推荐
faiculty 2020-08-20
wuxiaosi0 2020-06-28
数据与算法之美 2020-06-28
freedomfanye 2020-06-28
yaohustiAC 2020-06-11
只能做防骑 2020-06-01
Clairezz 2020-05-10
computermaths 2020-05-09
dushine00 2020-04-27
Codeeror 2020-04-20
数据与算法之美 2020-04-15
katyusha 2020-04-15
lickylin 2020-02-29
chenfei0 2020-02-26
wulaxiaohei 2020-02-15
baike 2020-02-03
ustbfym 2020-02-02
zangdaiyang 2020-01-29
Unimen 2020-01-11