Visual C# 诠释常用排序算法
http://tech.ddvip.com 2006年11月18日 社区交流
本文详细介绍Visual C# 诠释常用排序算法
2.1. 基本思想:
每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。
2.2. 排序过程:
【示例】:
初始关键字 [49 38 65 97 76 13 27 49]
第一趟排序后 13 [38 65 97 76 49 27 49]
第二趟排序后 13 27 [65 97 76 49 38 49]
第三趟排序后 13 27 38 [97 76 49 65 49]
第四趟排序后 13 27 38 49 [49 97 65 76]
第五趟排序后 13 27 38 49 49 [97 97 76]
第六趟排序后 13 27 38 49 49 76 [76 97]
第七趟排序后 13 27 38 49 49 76 76 [ 97]
最后排序结果 13 27 38 49 49 76 76 97
2.3. 程序实现
/// <summary>
/// 选择排序
/// </summary>
/// <param name="dblArray"></param>
private static void SelectSort(ref double[] dblArray)
{
for(int i =0 ; i< dblArray.Length; i++)
{
double MinValue = dblArray[i] ;
int MinValueIndex = i ;
for(int j = i; j< dblArray.Length; j++)
{
if(MinValue > dblArray[j] )
{
MinValue = dblArray[j] ;
MinValueIndex = j ;
}
}
ExChangeValue(ref dblArray[i], ref dblArray[MinValueIndex]);
}
}
/// <summary>
/// 交换数据
/// </summary>
/// <param name="A"></param>
/// <param name="B"></param>
private static void ExChangeValue(ref double A , ref double B)
{
double Temp = A ;
A = B ;
B = Temp ;
}3. 冒泡排序
来源:天极开发 作者:李渭宁 责编:豆豆技术应用
正在加载评论...