第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

普林斯頓大學(xué)算法課程二元堆程序中可比較接口(Java)的實現(xiàn)

普林斯頓大學(xué)算法課程二元堆程序中可比較接口(Java)的實現(xiàn)

qq_笑_17 2021-05-31 12:34:16
我沒有使用大量的 Java 進(jìn)行編程,因此我只是對該語言有基本的了解。我正在coursera 上做算法課程。本課程給出的二叉堆的程序是:public class MaxPQ<Key extends Comparable<Key>>{    private Key[] pq;    private int N;    public MaxPQ(int capacity)    { pq = (Key[]) new Comparable(capacity + 1);    }    public boolean isEmpty()    { return N==0;}    public void insert(Key key)    { pq[++N] = x;      swim(N);}    private void swim(int k)    {  while(k>1 && less(k/2,k))       {            exch(k,k/2);            k=k/2;       }    }    public key delMax()    {         Key max = pq[1];         exch(1,N--);         sink(1);         pq[N+1] = null; //To prevent loitering.         return max;    }    private void sink(int k)    {         while(2*k<=N){            int j= 2*k;            if(j<N && less(j,j+1))j++;            if(!less(k,j)) break;            exch(k,j);            k=j;}    }    private boolean less(int i, int j)    { return pq[i].compareTo(pq[j])>0; }    private void exch(int i, int j)    { Key t = pq[i]; pq[i] = pq[j]; pq[j] = t; }compareTo()方法將在類的定義中定義Key,當(dāng)它覆蓋compareTo可比較接口中的默認(rèn)方法時?,F(xiàn)在,我明白可比是java.lang. 在定義MaxPQ類時,使用的泛型類型是:public class MaxPQ < Key extends Comparable < Key > >由于Comparable是一個接口,并Key擴展了該接口,這意味著它key也必須是一個接口。現(xiàn)在我不明白這是如何工作的。有人可以向我解釋一下,如果接口充當(dāng)泛型類型會有什么好處,以及為什么Key需要擴展Comparable<Key>.如果您還可以給我一個如何Key定義的示例(使用Comparable接口),那將非常有幫助。
查看完整描述

2 回答

?
HUH函數(shù)

TA貢獻(xiàn)1836條經(jīng)驗 獲得超4個贊

你缺少的是理解

<Key extends Comparable<Key>>

這并不意味著 Key 是接口......這意味著 Key 是 Comparable 的子類,可以這樣對待。

Comparable<Key> c = new Key();

最后,Key 是實現(xiàn)接口 Comparable 還是擴展類 Comparable 并不重要,因為在這兩種情況下,它都可以充當(dāng) Comparable - 并且具有 Comparable 具有的方法。


查看完整回答
反對 回復(fù) 2021-06-10
?
喵喵時光機

TA貢獻(xiàn)1846條經(jīng)驗 獲得超7個贊

Key extends Comparable < Key >意味著僅Key實現(xiàn) interface Comparable < Key >。而已。


查看完整回答
反對 回復(fù) 2021-06-10
  • 2 回答
  • 0 關(guān)注
  • 137 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號