学习利用泛型和委托进行实体类比较

对于一个int类型的数组,我们可以用冒泡排序的方法进行比较排序,但是对于实体类,则不行。

例如,对数组进行排序,代码如下:

class Program
    {

        static void Sort(int[] sortArray)
        {
            bool swapped = true;
            do
            {
                swapped = false;
                for (int i = 0; i < sortArray.Length-1; i++)
                {
                    if (sortArray[i] > sortArray[i + 1])
                    {
                        int temp = sortArray[i];
                        sortArray[i] = sortArray[i + 1];
                        sortArray[i + 1] = temp;
                        swapped = true;
                    }
                }
            } while (swapped);
        }
 

        static void Main(string[] args)
        {
            int[] array = new int[] { 12, 234, 5, 64, 3, 23, 334 };
            Sort(array);
            foreach (int i in array)
            {
                Console.WriteLine(i + "  ");
            }
            
            Console.ReadKey();
        }
    }

对数组进行排序,如果这个数组是有序的数组,即是从小到大排序的,第一遍遍历完后,就跳出循环,这样可以减少时间。所以在循环开始时,设置一个布尔型的标识,在do循环开始时,把值设置为fasle,如果进行了数组内值换位置的动作,则把标识设置为true,接着循环,如果没有进行换位动作,则说明数据时有序的,直接跳出循环比较。但是,这个冒泡排序的方法只适用于int类型的比较,如果是对实体对象进行比较,则行不通,需要做调整。

猜你喜欢

转载自www.cnblogs.com/zyfadmin/p/9011941.html
今日推荐