package heap;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

/**
 * Heap Data Structure test class
 * @author Winston Prakash
 */
public class HeapTester {
    
    /** Creates a new instance of Main */
    public HeapTester() {
    }
    
    public static int[] createData(){
        List<Integer> data = new ArrayList<Integer>();
        for (int i = 0; i < 10; i++){
            data.add(i);
        }
        Collections.shuffle(data);
        int[] dataArray = new int[data.size()];
        for (int i = 0; i < dataArray.length; i++){
            dataArray[i] = data.get(i);
        }
        return dataArray;
    }
    
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
         
        int[] dataArray = createData();
        
        /*MaxHeap maxHeap = new MaxHeap(dataArray);
        maxHeap.displayData();
        maxHeap.build();
        maxHeap.displayData();*/
        
        /*HeapSort heapSort = new HeapSort(dataArray);
        heapSort.Sort();
        heapSort.displayData();*/
        
        HeapPriorityQueue priorityQueue = new HeapPriorityQueue(dataArray.length);
        for (int i = 0; i < dataArray.length; i++){
            System.out.println( dataArray[i] + "  ");
            priorityQueue.insert(dataArray[i]);
            priorityQueue.displayData();
        }
        System.out.println();
        priorityQueue.modifyPriority(7, 25);
        priorityQueue.displayData();
        priorityQueue.modifyPriority(5, -7);
        priorityQueue.displayData();
    }
    
}