zoukankan      html  css  js  c++  java
  • HW输入字符串长度,字符串,计数m。从前往后计数,当数到m个元素时,m个元素出列,同时将该元素赋值给m,然后从下一个数计数循环,直到所有数字都出列,给定的数全部为大于0的数字。输出出队队列。

    package huawei;
    
    import java.util.Scanner;
    
    public class 约瑟夫环 {
    	private static class Node
    	{
    		public int num;
    		public Node next;
    		public Node(int n)
    		{
    			num=n;
    		}
    		
    		
    	}
    	
    	public static String getOutString(int len, String str, int m)  
    	{
    		String ans="";
    		String s[]=new String[len];
    		int n[]=new int[len];
    		s=str.split(",");
    		for(int i=0;i<len;i++)
    		{
    			n[i]=Integer.parseInt(s[i]);
    		//	System.out.println(n[i]); 
    			
    		}
    		//建立循环链表
    		Node node=new Node(n[0]);
    		Node header=node;
    		for(int i=1;i<len;i++)
    		{
    			node.next=new Node(n[i]);
    		    node=node.next;
    				
    			
    		}
    		//循环输出
    		node.next=header;
    		node=header;
    		System.out.println(node.num); 
    	
    		while(node.next!=node)
    		{
    			
    			for(int i=0;i<m-2;i++)
    			{
    				node=node.next;
    			}
    		//	System.out.println(node.next.num); 
    			ans+=node.next.num;
    			m=node.next.num;
    			node.next=node.next.next;
    			node=node.next;
    			
    		}
    	
    		//System.out.println(node.num); 
    		
    		
    		return ans+node.num;
    		
    		
    	}
    	
    	public static void main(String[] args)
    	{
    		//Scanner s=new Scanner(System.in);
    	//	System.out.println("请输入人的个数");
    	//	int count=s.nextInt();
    		System.out.println(getOutString(4, "3,1,2,4", 7));
    		
    	
    		
    		
    		
    		
    	}
    
    }
    
  • 相关阅读:
    tushare包使用案例
    Matplotlib模块:绘图和可视化
    pandas使用
    django 表操作
    元数据Meta
    django关系类型字段
    django项目模型字段
    django项目mysite 2
    django安装使用xadmin
    GCC版本中没有GLIBCXX_3.4.15错误
  • 原文地址:https://www.cnblogs.com/hansongjiang/p/3590630.html
Copyright © 2011-2022 走看看