用Java创建一个循环链表例子
来源:互联网 发布:java编程培训教程 编辑:程序博客网 时间:2024/05/29 14:20
题目:一群人围在一起丢手绢,开始指定从第m个人开始,然后瞬时针数k下,第k个人出列,剩下的人继续从0开始数到k,第k个人再次出列,问,最后一个人是谁?
代码如下:
package com.cyclink;public class CycLink {public static void main(String[] args) {// TODO Auto-generated method stubLink cyc = new Link();cyc.setLen(5);cyc.createLink();cyc.setK(2);cyc.setM(2);cyc.print();cyc.play();}}//创建一个节点类class Node{//编号public int num;//保存下一个节点Node next;//默认构造函数public Node() {}//构造函数public Node(int num){this.num = num;}}//创建一个循环链表class Link{//保存链表的长度public int len = 0;//保存游戏从第k个人开始public int k = 0;//保存游戏数多少下public int m = 0;//设置一个头节点Node head = new Node(0);//设置一个临时节点Node temp = null;//设置链表长度public void setLen(int len){this.len = len;}//设置k的值public void setK(int k){this.k = k;}//mpublic void setM(int m){this.m = m;}//生成循环链表 public void createLink(){for(int i = 1;i <= len;i++){if(i == 1){Node node = new Node(i);head.next = node;temp = node;}else if(i < len){Node node = new Node(i);temp.next = node;temp = node;}else{Node node = new Node(i);temp.next = node;node.next = head;}}}//开始玩游戏public void play(){//临时节点置空temp = null;//用temp1存放temp之前一个节点Node temp1 = null;temp = head.next;temp1 = head;//找到第k个人的位置for(int i = 1;i < k;i++){temp = temp.next;temp1 = temp1.next;}//数多少下while(len == 1){for(int j = 1;j < m;j++){temp = temp.next;temp1 = temp1.next;}//删除temp节点temp1.next = temp.next;//链表长度减1len--;}//输出结果System.out.println("\n" + "最后一个数为:" + temp.num);}//输出循环链表public void print() {temp = null;temp = head.next;while(temp != head){//输出该节点的编号System.out.print(temp.num + "\t");temp = temp.next;}}}
阅读全文
0 0
- 用Java创建一个循环链表例子
- 一个建立双向循环链表的例子
- 一个Oracle循环例子
- 一个Oracle循环例子
- 创建一个双向链表或双向循环链表
- 创建一个双向链表或双向循环链表
- 创建一个双向链表或双向循环链表
- 四、创建一个可复用的循环链表
- JAVA-FOR循环例子
- Java for循环例子
- 循环链表创建
- 创建一个表并循环插入数据
- 一个循环的例子(loop)
- for循环的一个例子
- 结合网上内容,分享一个,java用for循环创建i个对象,的方法
- Java 小例子:创建一个可拖拽图片的面板
- 一个深入理解JAVA传统线程对象创建的例子
- Java 小例子:创建一个可拖拽图片的面板
- Ubuntu安装使用yum(纯属娱乐)
- 1009. 说反话 (20)
- hdu 4300 Clairewd’s message
- 类成员函数做另一个类的友元
- DrawerLayout(代码)
- 用Java创建一个循环链表例子
- 灰度不变性LBP( gray scale invariant) 旋转不变性LBP(rotation invariant)旋转不变等价LBP(rotation & uniform invarian )
- java求助!!!!来自一位java的初学者!!!
- python2 pip 安装报错
- linux下修改mysql用户密码
- 使用原始资源 raw 和 asset
- 创建一个类
- ASP.NET Webform 与JQuery Ajax
- 图像融合之泊松编辑(Poisson Editing)(1):简略语言概述算法