C#选择排序
类别:编程学习 浏览量:851
时间:2014-7-24 C#选择排序
C#选择排序一、选择排序基本思想
每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。
/// <summary>
/// selection sort
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="array"></param>
/// <param name="left"></param>
/// <param name="right"></param>
public static void SelectionSort<T>(T[] array) where T : IComparable
{
int length = array.Length;
for (int i = 0; i < length; i++)
{
T min = array[i];
int minIndex = i ;
for (int j = i+1; j < length; j++)
{
if (min.CompareTo(array[j])>0)
{
min = array[j];
minIndex = j;
}
}
if (minIndex != i)
{
array[minIndex] = array[i];
array[i] = min;
}
}
}
测试代码
int[] array = new int[] {43,23,80,15,789,27,90,69,66,158,45,32,1,22,77,66,44};
Console.WriteLine("before selection sort");
foreach (int i in array)
{
Console.Write(i+"->");
}
Console.WriteLine();
SortHelper.SelectionSort<int>(array);
Console.WriteLine("after selection sort");
foreach (int i in array)
{
Console.Write(i + "->");
}
Console.WriteLine();
Console.Read();
六、C# 选择排序排序过程
初始关键字 [49 38 65 97 76 13 27 49]
标签:选择排序
您可能感兴趣
- python排序的三种方法(Python实现插入排序和选择排序的方法)
- python选择排序最大最小同时排序(Python实现的插入排序,冒泡排序,快速排序,选择排序算法示例)
- C#选择排序
- 毛戈平全国第一柜花落银泰 高端国货迎来 高光 时刻(毛戈平全国第一柜花落银泰)
- 14岁丧父 20岁丧母,从苦难走向辉煌的银泰创始人沈国军(14岁丧父20岁丧母从苦难走向辉煌的银泰创始人沈国军)
- 银泰集团董事长沈国军获评 北京影响力 十大企业家(银泰集团董事长沈国军获评)
- 15帅气男士发型,清爽时尚很有型,喜欢就试试(清爽时尚很有型)
- 哪几个历史人物被影协主席李雪健演的活灵活现(哪几个历史人物被影协主席李雪健演的活灵活现)
- 王伦狭隘,晁盖霸道,宋江奸诈骨头软,只有鲁智深才适合当寨主(王伦狭隘晁盖霸道)
热门推荐
- python 文本分析 摘要(用Python逐行分析文件方法)
- 零基础学计算机二级python(计算机二级python学习教程1 教大家如何学习python)
- mysql cache(MySQL取消了Query Cache的原因)
- h5支付接口第四方支付(h5移动端调用支付宝、微信支付的实现)
- js中alert加参数写法(详解JavaScript Alert函数执行顺序问题)
- html5底部组件(HTML5 Blob对象的具体使用)
- jquery next()
- python数据结构全攻略(详解python数据结构和算法)
- Asp.Net中索引器的用法
- dedecms如何发表文章(dedecms实现调用所有顶级栏目下最新文章的方法)