우선 순위 대기열과 같이 정렬 된 대기열에서 작업하고 있습니다. 나는 이미 그것을 List와 함께했고, 이미 훌륭하게 작동했습니다. 이제 배열로 처리하고 싶습니다. 하지만 난 조금 논리적 인 문제가 새로운 요소를 추가하고 정렬 된 배열에 삽입합니다.정렬 된 배열 대기열에 삽입
최종 출력 것과 같아야
우선 순위 : 5 값 : X
우선 순위 : 4 값 (및 등등) ISO
....
따라서 소자와 가장 우선 순위가 높은 우선 순위는 인덱스 = 0이어야합니다.
저는 잘 모르겠습니다. (예, 전환하기 만하면됩니다.하지만 할 수는 없습니다.)// 어떻게하는지 ...
나는 이미 몇 가지 시도했지만 붙어있다 ... :/누군가를 기쁘게 할 수있다. 도와 줘?
여기 내 코드입니다 :
public class Queue {
private QueueElem[] a;
public Queue(int capacity)
{
QueueElem[] tempQueue = new QueueElem[capacity];
a= tempQueue;
}
public void enqueue(int p, String v)
{
QueueElem neu = new QueueElem(p,v);
int i=0;
while(i<a.length)
{
if (a[i] == null)
{
a[i] = neu;
break;
}
i++;
}
}
public void writeQueue()
{
int i=0;
while((i< a.length) && (a[i] != null))
{
System.out.println("Priority: " + a[i].priority + " Value: " + a[i].value);
i++;
}
}
public static void main(String args[])
{
Queue neu = new Queue(10);
neu.enqueue(4,"iso");
neu.enqueue(2,"abc");
neu.enqueue(5,"x");
neu.enqueue(1,"abc");
neu.enqueue(4,"bap");
neu.enqueue(2,"xvf");
neu.enqueue(4,"buep");
}
}//end class Queue
class QueueElem {
int priority;
String value = new String();
public QueueElem(){ }
public QueueElem(int p, String v)
{
this.priority = p;
this.value = v;
}
public int getPrio()
{
return this.priority;
}
public String getValue()
{
return this.value;
}
}