龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > C/C++开发 >

单链表实现Farey序列

时间:2009-12-22 15:42来源:未知 作者:admin 点击:
分享到:
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, 1

  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;

  }

}

精彩图集

赞助商链接