小隐的博客

人生在世,笑饮一生
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

用c#进行递归组合

Posted on 2009-02-18 14:57  隐客  阅读(507)  评论(0编辑  收藏  举报

 

        static string[] m_Data = "A""B""C""D""E" };

        
static void Main(string[] args)
        
{
            Dictionary
<stringint> dic = new Dictionary<stringint>();
            
for (int i = 0; i < m_Data.Length; i++)
            
{
                Console.WriteLine(m_Data[i]);
//如果不需要打印单元素的组合,将此句注释掉
                dic.Add(m_Data[i], i);
            }

            GetString(dic);
            Console.ReadLine();
        }


        
static void GetString(Dictionary<stringint> dd)
        
{
            Dictionary
<stringint> dic = new Dictionary<stringint>();
            
foreach (KeyValuePair<stringint> kv in dd)
            
{
                
for (int i = kv.Value + 1; i < m_Data.Length; i++)
                
{
                    Console.WriteLine(kv.Key 
+ m_Data[i]);
                    dic.Add(kv.Key 
+ m_Data[i], i);
                }

            }

            
if (dic.Count > 0) GetString(dic);
        }
QQ交流