selectionsorter.cs

来自「5种.net写的排序的方法」· CS 代码 · 共 37 行

CS
37
字号
using System;
using System.Collections.Generic;
using System.Text;

namespace IAXK.Sys
{
    /// <summary>
    /// 选择排序
    /// </summary>
    /// <typeparam name="T"></typeparam>
    [Serializable]
    public class SelectionSorter<T> : Sorter<T> where T : IComparable, IComparable<T>
    {
        /// <summary>
        /// 排序算法
        /// </summary>
        /// <param name="v"></param>
        /// <param name="ot"></param>
        protected override void Algorithm(T[] v, OrderType ot)
        {
            int min;
            for (int i = 0; i < (v.Length - 1); i++)
            {
                min = i;
                for (int j = i + 1; j < v.Length; j++)
                {
                    if (CompareValue(v[j], v[min], ot) < 0)
                    {
                        min = j;
                    }
                }
                Swap(ref v[min], ref v[i]);                
            }
        }
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?