千家信息网

java如何实现有序数组

发表于:2024-11-19 作者:千家信息网编辑
千家信息网最后更新 2024年11月19日,这篇文章主要介绍"java如何实现有序数组",在日常操作中,相信很多人在java如何实现有序数组问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"java如何实现有序数组"
千家信息网最后更新 2024年11月19日java如何实现有序数组

这篇文章主要介绍"java如何实现有序数组",在日常操作中,相信很多人在java如何实现有序数组问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"java如何实现有序数组"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

package com.clean.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 key) {        int lowBound = 0;        int highBound = nElems - 1;        int curIn;        while (true) {            curIn = (lowBound + highBound) / 2;            if(a[curIn] == key) {                return curIn;            } else if (lowBound > highBound) {                return nElems;            } else {                if(a[curIn] < key) {                    lowBound = curIn + 1;                } else {                    highBound = 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();    }}
package com.clean.array;public class OrderApp {    public static void main(String[] args) {        int max = 100;        OrderArray orderArray = new OrderArray(max);        orderArray.insert(200);        orderArray.insert(100);        orderArray.insert(500);        orderArray.insert(300);        orderArray.insert(10);        orderArray.insert(20);        orderArray.insert(11);        orderArray.disPlay();        int key = 300;        if(orderArray.find(key) != orderArray.size()) {            System.out.println("find : " + key);        } else {            System.out.println("not find : " + key);        }        orderArray.disPlay();        orderArray.delete(200);        orderArray.delete(10);        orderArray.delete(11);        orderArray.disPlay();    }}

到此,关于"java如何实现有序数组"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

0