c#泛型冒泡排序

public delegate int DelCompare(T t1, T t2);//传入两个参数来作比较

        private void Form1_Load(object sender, EventArgs e)

        {

            //string[] nStr = { "5000", "600", "9000000", "200", "10" };

            //BubSort(nStr, (string t1, string t2) => {

            //    return t1.Length - t2.Length;

            //});

            //MessageBox.Show(nStr[0].ToString());

            //int[] nStr = { 5, 6, 9, 2, 1 };

            //BubSort(nStr, (int t1, int t2) => {

            //    return t1 - t2;

            //});

            //MessageBox.Show(nStr[0].ToString());

        }

        public void BubSort(T[] arr, DelCompare del)

        {

            for (int i = 0; i < arr.Length - 1; i++)

            {

                for (int j = 0; j < arr.Length - 1 - i; j++)

                {

                    if (del(arr[j], arr[j + 1]) < 0)

                    {

                        T temp = arr[j];

                        arr[j] = arr[j + 1];

                        arr[j + 1] = temp;

                    }

                }

            }

        }

你可能感兴趣的:(c#泛型冒泡排序)