单链表实现Farey序列
The Farey sequences of orders 1 to 8 are :
F1 = {0D1, 1D1}
F2 = {0D1, 1D2, 1D1}
F3 = {0D1, 1D3, 1D2, 2D3, 1D1}
F4 = {0D1, 1D4, 1D3, 1D2, 2D3, 3D4, 1D1}
F5 = {0D1, 1D5, 1D4, 1D3, 2D5, 1D2, 3D5, 2D3, 3D4, 4D5, 1D1}
F6 = {0D1, 1D6, 1D5, 1D4, 1D3, 2D5, 1D2, 3D5, 2D3, 3D4, 4D5, 5D6, 1D1}
F7 = {0D1, 1D7, 1D6, 1D5, 1D4, 2D7, 1D3, 2D5, 3D7, 1D2, 4D7, 3D5, 2D3, 5D7, 3D4, 4D5, 5D6, 6D7, 1D1}
F8 = {0D1, 1D8, 1D7, 1D6, 1D5, 1D4, 2D7, 1D3, 3D8, 2D5, 3D7, 1D2, 4D7, 3D5, 5D8, 2D3, 5D7, 3D4, 4D5, 5D6, 6D7, 7D8, 1D1}
在第n级上,仅当c+d<=n时,才将一个新的分数a+b/c+d插到两个相邻的分数a/c和b/d之间.下面的程序,对给定的自然数n,通过不断扩展以创建第n级的分数链表.
所使用的数据结构为一个链表节点
public class Node {
private int upval;//分子
private int dnval;//分母
private Node next;
public Node(int up, int down) {
upval = up;
dnval = down;
next = null;
}
public Node(int up, int down, Node next) {
upval = up;
dnval = down;
this.next = next;
}
public int getUpval() {
return upval;
}
public void setUpval(int upval) {
this.upval = upval;
}
public int getDnval() {
return dnval;
}
public void setDnval(int dnval) {
this.dnval = dnval;
}
public Node getNext() {
return next;
}
public void setNext(Node next) {
this.next = next;
}
}





