1题,
将数组{32,74,25,53,28,43,86,47}按从小到大排序,每次可以交换任意两个元素,最少需要交换多少次(写出具体过程)
谢谢~~
2题,
定若干字母,生成不同的所有词组,如:给出abc生成:abc,acb,bac,bca,cab,cba...

解决方案 »

  1.   

    int min,max;
    min=max=数组名字[0]
    foreach (int val int数组名字 ){32,74,25,53,28,43,86,47}数组名字
    {
    if(val<min) min=val;
    if(val>max) max=val;
    }
    hao了
      

  2.   


    static void Main(string[] args)
            {
                int sumTimes = 0;
                int[] intArray = new int[] { 32,74,25,53,28,43,86,47};
                for (int i = 0; i < intArray.Length; i++)
                {
                    for (int j = i + 1; j < intArray.Length; j++)
                    {
                        if (intArray[i] > intArray[j])
                        {
                            sumTimes++;
                            int temp = intArray[i];
                            intArray[i] = intArray[j];
                            intArray[j] = temp;
                        }
                    }                Console.Write("第"+(i+1)+"次排序:");
                    for (int k = 0; k < intArray.Length; k++)
                    {                    
                        Console.Write(intArray[k]+"  ");
                    }
                    Console.WriteLine();               
                } 
                Console.WriteLine("交换总次数为:"+sumTimes);
                Console.ReadKey();
            }