queue에서 아웃풋을 번호순으로 정렬하는건데 막히네요.. 자꾸 인풋 순서대로만 나와요 ㅠ 어떻게 번호순으로 <div>정렬할 수 있나요??..<br><div>그리고 혹시 실례가 안된다면 priorityqueue 클래스안의 내용이 너무 헷갈려서 주석식으로 설명해주실수 있다면 정말</div> <div>감사하겠습니다.... <br><div><br></div> <div>priorityqueue class----------------------------------------------------------</div> <div><div>public class PriorityQueue {</div> <div><br></div> <div>private int maxSize; </div> <div>private Passenger[] queueArray;</div> <div>private int nItems, front, lowerBound, upperBound, curIn;</div> <div><br></div> <div>public PriorityQueue(int s) {</div> <div> maxSize = s;</div> <div> queueArray = new Passenger[maxSize];</div> <div> front = 0;</div> <div> nItems = 0;</div> <div>}</div> <div><br></div> <div> </div> <div>public void insert(Passenger something) {</div> <div> int j;</div> <div> </div> <div> if(nItems ==0) {</div> <div> queueArray[nItems++] = something;}</div> <div> else {</div> <div> for (j = nItems -1; j>=0; j--) {</div> <div> if (something.getNumber() < queueArray[j].getNumber())</div> <div>{</div> <div> queueArray[j +1] = queueArray[j];</div> <div> } else {</div> <div> break;</div> <div>}</div> <div>}</div> <div> queueArray[j +1] = something;</div> <div> nItems++;</div> <div>}</div> <div>}</div> <div><br></div> <div>public Passenger find(int F) {</div> <div> lowerBound = 0;</div> <div> upperBound = nItems - 1;</div> <div> while (lowerBound <= upperBound) {</div> <div> curIn = (lowerBound + upperBound) /2;</div> <div> if (queueArray[curIn].getNumber() ==F) {</div> <div> System.out.println(F + " found at location " + curIn);</div> <div> break;</div> <div> } else if (queueArray[curIn].getNumber() < F) {</div> <div> lowerBound = curIn+1;</div> <div> } else {</div> <div> upperBound = curIn-1;</div> <div> }</div> <div> </div> <div> return queueArray[curIn];</div> <div>}</div> <div> return null;</div> <div> </div> <div> }</div> <div> </div> <div> </div> <div>public Passenger remove() {</div> <div> </div> <div> Passenger temp = queueArray[front++];</div> <div> nItems--;</div> <div> return temp;</div> <div>}</div> <div><br></div> <div>public String peek(int j) {</div> <div> return queueArray[j].displayPassenger(); </div> <div>}</div> <div><br></div> <div>public Passenger peekFront() {</div> <div> return queueArray[front];</div> <div>}</div> <div><br></div> <div>public boolean isEmpty() {</div> <div> return (nItems ==0); }</div> <div><br></div> <div>public boolean isFull() {</div> <div> return (nItems == maxSize);</div> <div>}</div> <div>} </div></div> <div>priorityqueueapp class--------------------------------------------------------</div> <div><div>public class PriorityQueueApp {</div> <div><br></div> <div> public static void main(String[] args) {</div> <div><br></div> <div> int maxSize = 10;</div> <div> PriorityQueue arr;</div> <div> arr = new PriorityQueue(maxSize);</div> <div> Passenger[] p = new Passenger[maxSize];</div> <div><br></div> <div> p[0] = new Passenger(105, "Hashimoto", "Sato", 21);</div> <div> p[1] = new Passenger(103, "Yee", "Tom", 43);</div> <div> p[2] = new Passenger(101, "Evans", "Patty", 24);</div> <div> p[3] = new Passenger(102, "Smith", "Lorraine", 37);</div> <div> p[4] = new Passenger(104, "Adams", "Henry", 63);</div> <div> p[5] = new Passenger(106, "Stimson", "Henry", 29);</div> <div> p[6] = new Passenger(109, "Vang", "Minh", 22);</div> <div> p[7] = new Passenger(107, "Velasquez", "Jose", 72);</div> <div> p[8] = new Passenger(108, "Lamarque", "Henry", 54);</div> <div> p[9] = new Passenger(110, "Creswell", "Lucinda", 18);</div> <div><br></div> <div> for (int i =0; i< maxSize; i++)</div> <div> System.out.println(p[i].displayPassenger());</div> <div> System.out.println("");</div> <div><br></div> <div> for (int j=0; j < maxSize; j++)</div> <div> arr.insert(p[j]);</div> <div><br></div> <div> int searchNumber = 106;</div> <div> Passenger found;</div> <div> found = arr.find(searchNumber);</div> <div><br></div> <div> if (found != null) {</div> <div> System.out.print("Found ");</div> <div> System.out.println(found.displayPassenger());</div> <div> System.out.println("");</div> <div> }</div> <div><br></div> <div> while (!arr.isEmpty()) {</div> <div> Passenger n = arr.remove();</div> <div> System.out.print(n.displayPassenger());</div> <div> System.out.println("");</div> <div>}</div> <div><br></div> <div> for (int h = 0; h < maxSize; h++) {</div> <div> System.out.println(arr.peek(h));</div> <div> arr.remove();</div> <div>}</div> <div> }</div> <div>}</div></div></div></div>