Integer的使用问题

来源:4-5 基础堆排序和Heapify

Mark1900

2017-08-15

MaxHeap<Integer> maxHeap = new MaxHeap<Integer>(100);    

int N = 100; // 堆中元素个数    

int M = 100; // 堆中元素取值范围[0, M)    

这里为什么要创建对象的时候加上了(100),integer是一种对象的引用的话,如果用浮点数是也可以进行堆排序的吗,小白一个希望大佬们帮忙一下



写回答

2回答

qq_农夫_1

2017-08-16

(100)是构造函数,初始化堆的大小,MaxHeap<Integer> <>里可以是重载了比较操作符<的任何数据类型

1
2
liuyubobobo
感谢你的解答:)
2017-08-17
共2条回复

liuyubobobo

2017-08-17

MaxHeap<Integer> maxHeap = new MaxHeap<Integer>(100);   这句话中的100的定义,可以构造函数中的参数定义啊:)如下:

// 构造函数, 构造一个空堆, 可容纳capacity个元素    
public MaxHeap(int capacity){    
    data = (Item[])new Comparable[capacity+1];    
    count = 0;    
    this.capacity = capacity;    
}


我们在这个课程中创建的大多数类,都使用了泛型来兼容多种数据类型,所以如果想使用浮点数,只需要使用Double或者Float就好了,比如:

MaxHeap<Double> maxHeap = new MaxHeap<Integer>(100); 
MaxHeap<Float> maxHeap = new MaxHeap<Integer>(100);


1
1
Mark1900
谢谢老师。
2017-08-17
共1条回复

算法与数据结构(C++版) 面试/评级的算法复习技能包

课程专为:短时间内应对面试、升职测评等艰巨任务打造

11187 学习 · 1614 问题

查看课程