小编Spa*_*532的帖子

使用递归和泛型创建快速排序

我想问一下我创建的排序通用类。我使用了今年学到的许多不同概念,并将其组合到一个不错的类中,可以用来对任何东西进行排序(当然,如果它是一个类,则该类具有CompareTo方法)

public class Sort<T> where T : IComparable<T>
    {
        private List<T> toSort;
        public Sort(List<T> sortList)
        {
            toSort = sortList;
            quickSort();
        }
        public void quickSort()
        {
            qSort(toSort, 0, toSort.Count - 1);
        }
        private void qSort(List<T> toSort, int left, int right)
        {
            //set the indexes
            int leftIndex = left;
            int rightIndex = right;

            //get the pivot
            var pivot = toSort[left + (right - left) / 2];
            while (leftIndex <= rightIndex)
            {
                //check left values
                while (toSort[leftIndex].CompareTo(pivot)<0)
                {
                    leftIndex++;
                }
                //check right values …
Run Code Online (Sandbox Code Playgroud)

c# sorting generics icomparable quicksort

1
推荐指数
1
解决办法
52
查看次数

标签 统计

c# ×1

generics ×1

icomparable ×1

quicksort ×1

sorting ×1