• 大小: 3KB
    文件类型: .java
    金币: 1
    下载: 0 次
    发布日期: 2021-05-07
  • 语言: Java
  • 标签: java  

资源简介

这是一个java的约瑟夫问题代码,实现约瑟夫问题(循环链表)!

资源截图

代码片段和文件信息


class Node
{
    public int data;
    public Node next;
    public Node(int k)
    {
        data = k;
        next = null;
    }
    
    public Node()
    {
        this(0);
    }
}
 class Onelink extends Node
{
    //头结点
    protected Node head;
    //构造一个空的单向链表
    public Onelink()
    {
        head = null;
    }
    //只有一个结点的单向链表
    public Onelink(Node h1)
    {
        head = h1;
    }
    //判断链表是否为空
    public boolean isEmpty()
    {
        return head == null;
    }
    //用随机数构造n个数的链表
    public Onelink(int n)
    {
        Node rearq;
        if(n > 0)
        {
            int k = (int) (Math.random()*100);
            head = new Node(k);
            rear = head;
            for(int i = 1; i < n ;i++)
            {
                k = (int) (Math.random()*100);
                q = new Node(k);
                rear.next = q;
                rear = q;
            }
        }
    }
    
}
public class Yue33  extends Onelink
{
Yue33() // 构造空的单向循环链表
    {
        super();
    }

Yue33(int n) // 建立n个结点的单向循环链表
    { // 链表结点值为1到n
        this();
        int i = 1;
        //q新结点rear尾结点
        Node q rear;
        if (n > 0)
        {
            //先创建只有一个结点的单向循环链表
            head = new Node(i);
            //指向自己
            head.next = head;
            rear = head;
            while (i < n)
            {
                i++;
                //新结点
                q = new Node(i);
                //

评论

共有 条评论