请教大家一个简单的问题我有一个字符串 str:='9,2,5,6,1,4,3,7,8',请问如何用最快效率将这个字符传按有小到大排列?

解决方案 »

  1.   

    第一种方法
    1、用split 分成数组
    2、一个一个转成int数
    3、对int排序
    第二种方法
    1、用split分成数组
    2、 List<int> aa = new List<int>();
    aa.Sort ()
    第三种方法
    自己判断,号,然后添加到列表,添加的时候就排序
    效率来说,如果数不多,用数组冒小泡,应该很快的。
      

  2.   

    int[] num = new int[10];
    int num1 = 0;
    for(int i=0;i<str.length;i++)
    {
        if(char.IsDigital(s[i]))
    {
        num[i] = Convert.Toint32(s[i]);
    }
    }
    for(int i=0;i<num.length;i++)
    {
    for(int j=i;j<num.length-1;j++)
    {
    if()
    {
    num1 = num[i];
    num[i] = num[j];
    num[j] = num1;
    }
    }
    }这样就排序好了
      

  3.   

    自己写的排序方法,估计不够微软的快,就用LIST的吧.
      

  4.   

    using System;
    using System.Collections.Generic;
    using System.Text;namespace ConsoleApplication6
    {
        class Program
        {
            static void Main(string[] args)
            {
                string a = "9,2,5,6,1,4,3,7,8";
                string[] aa = a.Split(new char[] {',' });
                List<int> list = new List<int>();
                for (int i = 0; i < aa.Length; i++)
                {
                    list.Add(int.Parse(aa[i].ToString()));
                }
                list.Sort();
                for (int j = 0; j < list.Count; j++)
                {
                    Console.WriteLine(list[j].ToString());
                }            Console.ReadKey();
            }
        }
    }