ম্যাক্স হিপ একটি সম্পূর্ণ বাইনারি ট্রি, যেখানে প্রতিটি ধাপে রুট নোডের মান চাইল্ড নোডের মান থেকে বড় বা সমান হয়।
লাইব্রেরি ফাংশন ব্যবহার করে ম্যাক্স হিপের ইমপ্লিমেন্টেশন নিচে দেওয়া হলো:
উদাহরণ
import java.util.*; public class Demo{ public static void main(String args[]){ PriorityQueue<Integer> my_p_queue = new PriorityQueue<Integer>(Collections.reverseOrder()); my_p_queue.add(43); my_p_queue.add(56); my_p_queue.add(99); System.out.println("The elements in the priority queue are : "); Iterator my_iter = my_p_queue.iterator(); while (my_iter.hasNext()) System.out.println(my_iter.next()); my_p_queue.poll(); System.out.println("After removing an element using the poll function, the queue elements are :"); Iterator<Integer> my_iter_2 = my_p_queue.iterator(); while (my_iter_2.hasNext()) System.out.println(my_iter_2.next()); Object[] my_arr = my_p_queue.toArray(); System.out.println("The array representation of max heap : "); for (int i = 0; i < my_arr.length; i++) System.out.println("Value: " + my_arr[i].toString()); } }আউটপুট
The elements in the priority queue are : 99 43 56 After removing an element using the poll function, the queue elements are : 56 43 The array representation of max heap : Value: 56 Value: 43
Demo ক্লাসে main ফাংশন আছে। main ফাংশনের ভিতরে প্রায়োরিটি কিউ-এর একটি ইনস্ট্যান্স সংজ্ঞায়িত করা হয়েছে এবং 'add' ফাংশন ব্যবহার করে তাতে এলিমেন্ট যোগ করা হয়েছে। একটি ইটেরেটর সংজ্ঞায়িত করা হয়েছে এবং এটি প্রায়োরিটি কিউ-এর এলিমেন্টগুলো ওভার ইটেরেট করতে ব্যবহৃত হয়েছে। 'poll' ফাংশনটি লিস্ট থেকে একটি এলিমেন্ট রিমুভ করতে ব্যবহৃত হয়েছে। এরপর, এলিমেন্টগুলো আবার ইটেরেট করে স্ক্রিনে প্রদর্শন করা হয়েছে।