全排列--遞歸算法

          import java.util.ArrayList;
          import java.util.List;

          public class PaiLie {

          ?/**
          ? * @param args
          ? */
          ?public static void main(String[] args) {
          ??List<String> strList = new ArrayList<String>();
          ??strList.add("a");
          ??strList.add("b");
          ??strList.add("c");
          ??
          ??quanpailie(strList, 0);
          ?}
          ?
          ?/**
          ? * 按遞歸算法列出全排列
          ? * @param strList
          ? * @param cur
          ? */
          ?private static void quanpailie(List<String> strList, int cur)
          ?{
          ??if(cur >= strList.size()) {
          ???System.out.println(strList);
          ???return;
          ??}
          ???
          ??for(int i = cur; i < strList.size(); i++)
          ??{
          ???wape(strList, cur, i);
          ???quanpailie(strList, cur+1);
          ???wape(strList, cur, i);
          ??}
          ?}

          ?/**
          ? * 交換第i和j位置的值
          ? * @param strList
          ? * @param i
          ? * @param j
          ? */
          ?private static void wape(List<String> strList, int i,int j )
          ?{
          ??String temp = strList.get(i);
          ??strList.set(i, strList.get(j));
          ??strList.set(j, temp);
          ??
          ?}
          }

          posted on 2010-01-19 11:46 飛熊 閱讀(233) 評論(0)  編輯  收藏 所屬分類: 算法

          <2010年1月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          導航

          統(tǒng)計

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          收藏夾

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 安图县| 松潘县| 千阳县| 麻江县| 纳雍县| 安康市| 潢川县| 定襄县| 汉源县| 修水县| 安顺市| 高邮市| 石门县| 平谷区| 桦川县| 万年县| 徐闻县| 三原县| 剑河县| 喀什市| 乐东| 沂水县| 东光县| 黄冈市| 勃利县| 蒲城县| 龙门县| 稷山县| 嘉峪关市| 石棉县| 新昌县| 巴青县| 英德市| 长白| 南宁市| 本溪市| 宁明县| 云林县| 上林县| 新龙县| 伊吾县|