リンクされたリストに2つの数字を挿入しようとしています。リストは順序付けする必要があるため、小さい数字を大きい数字の前に挿入する必要があります。
リストは最初に大きな数値を追加し、次に 2 番目の小さい数値を挿入するときに、大きい数値と小さい数値を交換する必要があります。
私はそれを行うためだけにこのメソッドを作成しました。このコードの問題は、最初に大きな数値を追加し、次に小さな数値を追加してから、もう一度大きな数値を追加することです。
私は何を間違っていますか?
public void insertFirst(int id, double dd)
{
if (isEmpty())
{
Link newLink = new Link(id, dd);
newLink.next = first;
first = newLink;
}
else
{
if (first.iData < id)
{
Link newLink = new Link(id, dd);
newLink.next = first;
first = newLink;
}
else
{
int iTempData = first.iData;
double dTempData = first.dData;
Link newLink = new Link(id, dd);
newLink.next = first;
first = newLink;
Link newLink2 = new Link(iTempData, dTempData);
newLink2.next = first;
first = newLink2;
}
}
}