我一直试图弄清楚链接列表是如何工作的,但我很难想象这个概念。我知道多种算法,但我不知道如何实现它们。
这是我的代码:
public class LL {
private ListNode front,last;
public LL(){
front = null; last = null;
}
//
//methods here...
//
public class ListNode{
public double coefficient;
public int exponent;
public ListNode next;
public ListNode(){
this(0, 0, null);
}
public ListNode(double coefficient, int exponent, ListNode next){
this.coefficient = coefficient;
this.exponent = exponent;
this.next = next;
}
}
}
这是用于存储多项式的数据。我试图让他们按降序排列。并最终将具有相同指数的节点的系数相加。
我想我要使用冒泡排序算法,但我不知道如何重新排列链接。我也在考虑添加一个 remove() 方法,然后删除一个节点并将其添加到最后,直到它被排序。但这非常低效,因为我每次都必须不断制作新节点。
PS:我还有一个多项式类,它接受一个字符串并将其转换为 LL。我认为没有必要发布它,但如果你需要它,我会发布它!谢谢!