C#数组简单快速排序的几种方法 - .net,C#,mvc知识积累 - CSS模版园-免费网站模版下载
当前位置 CSS模版园 >> 网站制作 >> .net >> C#数组简单快速排序的几种方法

原创C#数组简单快速排序的几种方法

C#数组简单快速排序的几种方法,支持int数组和string数组排序

顺序排列

//----------顺序-----------

int[] arr = { 3, 2, 5, 8, 4, 1 };

//方法一
Array.Sort(arr);

//方法二
Array.Sort(arr, (x, y) => x.CompareTo(y));

//方法三
var list = arr.ToList(); //转换成泛型List<int>排序
list.Sort();//可以直接操作list
arr = list.ToArray();//或者转换成数组操作


//执行上述3种方法排序后,输出数组如下
for (int i = 0; i < arr.Length; i++)
{
	Console.WriteLine(arr[i]); //输出 1,2,3,4,5,8
}

倒序排列

//----------倒序-----------

int[] arr = { 3, 2, 5, 8, 4, 1 };

//方法一
Array.Sort(arr, (x, y) => -x.CompareTo(y));

//方法二
var list = arr.ToList(); //转换成泛型List<int>排序
list.Sort((x, y) => -x.CompareTo(y));//可以直接操作list
arr = list.ToArray();//或者转换成数组操作


//执行上述2种方法排序后,输出数组如下
for (int i = 0; i < arr.Length; i++)
{
	Console.WriteLine(arr[i]); //输出 8,5,4,3,2,1
}

函数说明:

[ReliabilityContract(Consistency.MayCorruptInstance, Cer.MayFail)]
public static void Sort(Array array, IComparer comparer);

摘要:

使用指定的 System.Collections.IComparer,对一维 System.Array 中的元素进行排序。

参数:

array:要排序的一维 System.Array。

comparer:比较元素时要使用的 System.Collections.IComparer 实现。- 或 -若为 null,则使用每个元素的System.IComparable实现。

异常:

System.ArgumentNullException:array 为 null。

System.RankException:array 是多维数组。

System.InvalidOperationException:comparer 为 null,array 中的一个或多个元素不实现System.IComparable 接口。

System.ArgumentException:comparer 的实现导致排序时出现错误。例如,将某个项与其自身进行比较时,comparer 可能不返回 0。

除此之外,还有冒泡排序法,这里就不多说了,详情请戳:C#冒泡排序及其分析

//冒泡排序
int[] arr = { 3, 2, 5, 8, 4, 1 };
int temp = 0;
for (int i = 0; i < arr.Length - 1; i++)
{
    //从比i大1的值开始遍历到结束
    //这里比较的总是比i大的值,因为之前的值已经冒泡完成
    for (int j = i + 1; j < arr.Length; j++)
    {
        //如果前一个值大于后一个值,他们交换位置
        if (arr[i] > arr[j]) //i>j顺序,i<j倒序
        {
            //交换位置
            temp = arr[i];
            arr[i] = arr[j];
            arr[j] = temp;
        }
    }
}

原创文章内容原创,转载请注明出处:cssteach.com

声明本站所有资源仅供学习与参考,请勿用于商业用途。转载请注明来自:cssteach.com

原文http://cssteach.com/html/show-15-148.html

若文章内容有错误或无法下载,请在回复中说明(可无需登录,直接评论)

最新文章

图文

热门网站模版