国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

字典序全排列(java實現)

2019-11-14 21:42:57
字體:
來源:轉載
供稿:網友
字典序全排列(java實現)
import java.util.Arrays;/***字典序全排列*字符串的全排列*比如單詞"too" 它的全排列是"oot","oto","too"*1,從右端開始掃描,若出現前一個比后一個小,記錄前一個的元素下表index*2,再找出index以后比該元素大的中的最小值的下標,(實現見 下面的getMin方法)*3,index以后的元素實現反轉(實現 見下面的reverse方法)*結束條件:前一個都比后一個大的情況*/public class StringExPRess{   int getMin(char[]input,int index){        char min=input[index];        int minIndex=index+1;        char result='z';        for(int i=index+1;i<input.length;i++){              if(input[i]>min&&input[i]<result){                  result=input[i];                  minIndex=i;              }        }        return minIndex;   }   void exchange(char []input,int index,int minIndex){           char temp=input[index];           input[index]=input[minIndex];           input[minIndex]=temp;   }   void reverse(char input[],int first,int end) {      while(first<end){           exchange(input,first,end);           first++;           end--;      }   }   void getDictionary(char c[]){       System.out.println(new String(c));       //boolean flag=true;       int i=0;       while(true){         i=c.length-1;          for(;i>0;i--){               if(c[i-1]<c[i])break;          }          if(i==0)break;          int minIndex=getMin(c,i-1);          exchange(c,i-1,minIndex);          reverse(c,i,c.length-1);          System.out.println(new String(c));       }          }   public static void main(String []args){    String input="aat";    char [] c=input.toCharArray();    Arrays.sort(c);    new StringExpress().getDictionary(c);   }}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 红安县| 张家口市| 炉霍县| 潢川县| 富川| 江西省| 浮山县| 长治市| 共和县| 曲阜市| 南城县| 家居| 乌鲁木齐市| 平江县| 盐津县| 德昌县| 威远县| 林周县| 宝丰县| 壶关县| 威远县| 株洲县| 缙云县| 讷河市| 阿坝| 宣武区| 大名县| 邵阳市| 成都市| 瑞安市| 商水县| 札达县| 屏边| 申扎县| 洱源县| 远安县| 永胜县| 达尔| 藁城市| 香河县| 阿拉善盟|