Java實現貝格爾編排法

jopen 10年前發布 | 14K 次閱讀 算法 Java開發

import java.util.Scanner;
/**

  • 精簡算法
  • @author jie / public class Test1 { public static void main(String[] args) {
     int n,m;
     Scanner cin=new Scanner(System.in);
     System.out.println("請輸入隊伍數量:");
     n=cin.nextInt();
     if(n%2==0)m=n;
     else m=n+1;
     int a=1,b=1,index=1,loop=0;
     for(int i=1;i<=(m-1)*(m/2);i++){
         if(a>=m)a=1;
         if(index>m/2)index=1;
         if(index==1){
             loop++;
             if(i==1){
                 b=m;
             }else{
                 b=a;
             }
             System.out.println("第"+loop+"輪");
             if(((i-1)/(m/2)%2)==0){
                 System.out.println(a+"----"+m);
             }else{
                 System.out.println(m+"---"+a);
             }
         }else if(index>1&&index<=m/2){
             if(b>1)b--;
             else b=m-1;
             System.out.println(a+"---"+b);
         }
         index++;
         a++;
     }
    
    } }</pre>
 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!