日期:2014-05-17  浏览次数:20723 次

求排序写法改进


 对一组字符串中的数字进行大小排序,如下方法得到了正确的结果。

          private void butok_Click(object sender, EventArgs e)
        {
          string str="8 9 3 16 10 10 8 6 10 12";
          string strTemp = "";
          string[] Arr = arrayList(str);
          for (int i = 0; i < Arr.Length; i++)
          {
              strTemp = strTemp + Arr[i].ToString() + " ";
          }
          strTemp = strTemp.Substring(0, strTemp.Length - 1);
          textBox1.Text = strTemp;
        }


        private string[] arrayList(string strTemp)
        {
            string[] a = strTemp.Split(' ');
            string temp;
            for (int i = 0; i < a.Length; i++)
            {
                for (int j = i + 1; j < a.Length; j++)
                {
                    if (Convert.ToDouble(a[i]) > Convert.ToDouble(a[j]))
                    {
                        temp = a[i];
                        a[i] = a[j];
                        a[j] = temp;
                    }
                }
            }
            return a;

        }




string str="8 9 3 16 10 10 8 6 10 12";
经过运算结果为
strTemp=“3 6 8 8 9 10 10 10 12 16”

求大神对方法进行一些改进,要求得出排序后原始值所在的位置,例如,3在原始字符串中排在第3的位置,6排在第8的位置。

最好能得到返回如下字符串st