【发布时间】:2012-10-19 08:20:33
【问题描述】:
我正在尝试将 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;
}
}
}
【问题讨论】:
-
最好给出定义
isEmpty()和first的代码..
标签: java linked-list swap