// CSE 373, Winter 2013, Marty Stepp // This client program uses our HeapIntPriorityQueue class. // It also shows a brief demonstration of a Comparator to order a set. import java.util.*; public class Lecture14Main { public static void main(String[] args) { PriorityQueue pq = new HeapPriorityQueue(); System.out.println("initially, queue = " + pq + ", size = " + pq.size()); int[] elements = {9, 33, 8, -3, 49, 72, 24, 15}; for (int n : elements) { pq.add(n); System.out.println("after adding " + n + ", queue = " + pq + ", size = " + pq.size()); } while (!pq.isEmpty()) { int min = pq.remove(); // remove minimum element System.out.println(pq); System.out.println("after removing " + min + ", queue = " + pq + ", size = " + pq.size()); } System.out.println(); // Comparator example; // The set will order the words by length, breaking ties by ABC order. Set words = new TreeSet(new LengthComparator()); words.add("you"); words.add("meet"); words.add("madam"); words.add("sir"); words.add("hello"); words.add("goodbye"); System.out.println(words); } private static class LengthComparator implements Comparator { public int compare(String s1, String s2) { if (s1.length() != s2.length()) { // if lengths are unequal, compare by length return s1.length() - s2.length(); } else { // break ties by ABC order return s1.compareTo(s2); } } } }