c#泛型冒泡排序

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

        private void Form1_Load(object sender, EventArgs e)

        {

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

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

            //    return t1.Length - t2.Length;

            //});

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

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

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

            //    return t1 - t2;

            //});

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

        }

        public void BubSort<T>(T[] arr, DelCompare<T> 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;

                    }

                }

            }

        }

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容