OrderedArrayPQ

简书 賈小強
转载请注明原创出处,谢谢!

package com.lab1.test2;

public class OrderedArrayPQ<Key extends Comparable<Key>> {
    private Key[] a = (Key[]) new Comparable[5];
    private int n;

    private boolean isEmpty() {
        return n == 0;
    }

    private int size() {
        return n;
    }

    private Key delMax() {
        return a[--n];
    }

    private void exch(int i, int j) {
        Key temp = a[i];
        a[i] = a[j];
        a[j] = temp;
    }

    private boolean less(Key v, Key w) {
        return v.compareTo(w) < 0;
    }

    private void put(Key key) {
        int i = n - 1;
        for (; i > 0 && less(key, a[i]); i--) {
            a[i+1] = a[i];
        }
        a[i + 1] = key;
        n++;
    }

    public static void main(String[] args) {
        OrderedArrayPQ<String> pq = new OrderedArrayPQ<>();
        pq.put("bill");
        pq.put("jack");
        pq.put("lucy");
        System.out.println(pq.delMax());
        System.out.println(pq.delMax());
        System.out.println(pq.delMax());
        System.out.println(pq.size());
        System.out.println(pq.isEmpty());
    }
}

输出

lucy
jack
bill
0
true

Happy learning !!

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容