Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
265 views
in Technique[技术] by (71.8m points)

java - 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. Also, the string must end with a period. 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.

question from:https://stackoverflow.com/questions/65947139/printing-an-arraylist-heap-in-a-straight-line-separated-by-commas-at-each-level

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
Waitting for answers

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...