Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import edu.princeton.cs.algs4.MaxPQ;
- import edu.princeton.cs.algs4.StdOut;
- import java.util.Iterator;
- class PriQueueMerge {
- public static <Key> MaxPQ<Key> merge(MaxPQ<Key> pq1, MaxPQ<Key> pq2) {
- Iterator<Key> it1 = pq1.iterator(); // iterator fyrir sléttar
- Iterator<Key> it2 = pq2.iterator(); // iterator fyrir odda
- MaxPQ<Key> temp = new MaxPQ<>(); // nýr hlutur fyrir merge-ið
- // bætum við sléttum:
- while (it1.hasNext()) {
- temp.insert(it1.next());
- }
- // bætum við odda:
- while (it2.hasNext()) {
- temp.insert(it2.next());
- }
- return temp;
- }
- public static void main(String[] args) {
- /*
- * Prófar sameiningaraðferðina fyrir forgangsbiðraðir
- */
- // Búum til forgangsbiðröð oddatalna
- MaxPQ<Integer> odds = new MaxPQ<>();
- for (Integer i = 1; i < 10; i += 2) {
- odds.insert(i);
- }
- // Búum til forgangsbiðröð sléttra talna
- MaxPQ<Integer> evens = new MaxPQ<>();
- for (Integer j = 0; j < 10; j += 2) {
- evens.insert(j);
- }
- // Skoðum niðurstöðu sameiningarinnar
- MaxPQ<Integer> numbersBelow10 = merge(odds, evens);
- while (!numbersBelow10.isEmpty()) {
- StdOut.print(numbersBelow10.delMax() + " ");
- }
- StdOut.println("");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment