Я хочу создать структуру Heap, чтобы каждый узел имел 2 данных, 1) строку 2) int
так что я думаю, что каждый узел должен быть классом с именем «heapNode», но у меня проблема в методе подкачки,
пожалуйста, помогите мне
import java.util.ArrayList;
public class MainHeap {
ArrayList<heapNode> heap;
MainHeap (){
new ArrayList<heapNode>();
}
public int getMin(){
return heap.get(0).data ;
}
private int parent(int pos) {
return pos / 2;
}
private void swap(int pos1, int pos2) {
heapNode temp =new heapNode();
temp = heap.get(pos1);
heap.get(pos1) = heap.get(pos2);
heap.get(pos2) = temp;
}
public void insert(int elem) {
int max = heap.size();
heap.get(max).data = elem ;
int current = heap.size() ;
while (heap.get(current).data < heap.get(parent(current)).data){
swap ( current , parent(current));
}
}
}
и это мой класс heapNode
public class heapNode {
int data;
String fileName;
}
метод своп имеет ошибку, но я не могу решить ошибки