遞迴的再度思索-多個數組路勁遍曆

來源:互聯網
上載者:User

標籤:c#   .net   

類型:

 

1.       SHA-AA/BA/KX/WC-NYC/TYO/OSA-BA/NX/CX-NYC

2.       SHA -NYC/TYO/OSA -NYC

/之間區分的長度不一

想要的結果SHA-AA-NYC-BA-NYC

SHA-AA-NYC-NX-NYC

SHA-AA-NYC-CX-NYC

SHA-AA-NYC-CX-NYC

SHA-AA-TYO-BA-NYC

SHA-AA- TYO-NX-NYC

SHA-AA- TYO-CX-NYC

SHA-AA- TYO-CX-NYC

第一條有排列組合36種



思路


private void button1_Click(object sender, EventArgs e)        {            string txtOrg = textBox1.Text.Trim();            string[] t1 = txtOrg.Split('-');            //if ((t1.Length & 1) != 1)            //{            //    MessageBox.Show("錄入資料有問題");            //    return;            //}            StringBuilder sb = new StringBuilder("");            GetStringRecursive(sb, "", t1.ToList());            textBox2.Text = "廣告位招租,欲去除請付我5元錢\r\n" + sb.ToString();        }        private string GetStringRecursive(StringBuilder preBf, string pre, List<string> listStr)        {            //List<string> listRet = new List<string>();            string retStr = "";            if(listStr.Count == 0)                return pre + "\r\n";            else{                List<string> listTmp = listStr[0].Split('/').ToList();                List<string> listTmp2 = listStr.FindAll(x => x != listStr[0]);                bool isOver = listTmp2.Count == 0;                for (int i = 0; i <= listTmp.Count - 1; i++)                {                    string strTmp = listTmp[i].Trim();                    //string[] = strTmp[i]                    retStr = pre + strTmp;                    //listStr.Remove()                    if (isOver)                    {                        preBf.Append(retStr + "\r\n");                    }                    else                    {                        GetStringRecursive(preBf, retStr + '-', listTmp2);                    }                }            }            return retStr;        }


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.