遍历算法小测试

使用遍历算法,输出字符串中所有‘e’的位置

 1 void TraverAlgorithm(string a,int maxIndex,int i,int upe)
 2         {
 3             if (i == 1)
 4             {
 5                 int e = a.IndexOf('e') + 1 + upe;
 6                 if (e != maxIndex)
 7                 {
 8                     txt.Text += "" + i.ToString() + "个e的位置为:" + e.ToString()+"\n";
 9                     i++;
10                     a = a.Substring(e);
11                     TraverAlgorithm(a, maxIndex, i,e);
12                 }
13                 else
14                 {
15                     txt.Text = "只存在一个e,出现在第" + e.ToString() + "位\n";
16                 }
17             }
18             else
19             {
20                 int e = a.IndexOf('e') + 1 + upe;
21                 if (e != maxIndex)
22                 {
23                     txt.Text += "" + i.ToString() + "个e的位置为:" + e.ToString()+"\n";
24                     i++;
25                     a = a.Substring(e-upe);
26                     TraverAlgorithm(a, maxIndex, i, e);
27                 }
28                 else
29                 {
30                     txt.Text += "" + i.ToString() + "个e,也是最后一个e的位置为:" + e.ToString()+"\n";
31                 }
32             }           
33         }

测试一:

 

TraverAlgorithm("12e456e89e11e", 10,1,0)

得到结果:

测试二:

TraverAlgorithm("12e456e89e11e", 13, 1, 0);

结果为:

posted @ 2019-06-19 16:24  YichengLiu  阅读(210)  评论(0编辑  收藏  举报