再次递归思想-路劲跨越多个阵列
2015-10-05 09:41
253 查看
种类:
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种
思路
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 = new List<string>(); for (int i = 1; i <= listStr.Count - 1; i++) listTmp2.Add(listStr[i]);
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; }
相关文章推荐
- 安卓手机已保存WiFi密码查看助手(开源)
- 页面架构-布局解决方案
- ZOJ 2760 How Many Shortest Path 最大流+floyd求最短路
- 框架的小知识集
- 如何学好编程
- 计算器
- 转:Nutch学习笔记--抓取过程简析
- LinkedList的万能用法
- Swift语法之 guard
- 谈论json - json经常使用的功能
- C#理解泛型(源代码)及 default(T)
- 程序设计基石与实践系列之能让你成为Top程序员的十个C语言资源
- 使用v7.app.AppCompatActivity开发 ActionProvider 出错问题解决
- 2050预测:经济与人口
- 嵌套的 CONTAINING_RECORD 宏
- Java基础知识强化之集合框架笔记24:ArrayList存储自定义对象并遍历
- 详细分析CONTAINING_RECORD宏
- 通过测试实例详细分析 IoMarkPending 的原理
- ListEntry 链表图解,及解析 InsertTailList & RemoveHeadList&RemoveEntryList函数
- JavaScript动漫作品(闭幕)