2021年1月28日星期四

Printing an arraylist heap in a straight line separated by commas at each level

So I basically have a max heap stored in an arraylist, for example:

[6, 5, 4, 3]  

I am trying to print the elements of the arraylist to display each level of the heap separated by commas, as well as each element in the same level separated by a " " space. for example:

6, 5  4, 3  

This is what I have so far:

public void display() {    String heap = "Current heap is: ";    for(int i = 0; i <= data.size(); i++){      for(int j = 0; j < Math.pow(2, i) && j + Math.pow(2, i) <= data.size(); j++){        heap = heap +data.get(j + (int)Math.pow(2, i) - 1);      }      heap = heap +",";    }    System.out.println(heap);  }  

Output:

6,54,3,,,  

Notice: 'data' is the name of my arraylist.

https://stackoverflow.com/questions/65947139/printing-an-arraylist-heap-in-a-straight-line-separated-by-commas-at-each-level January 29, 2021 at 08:22AM

没有评论:

发表评论