首页 >> 民生新闻

诠释常用排序算法牛

民生新闻  2021-08-24 18:33 字号: 大 中 小

2. 选择排序

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 ngth; i++)

{

double MinValue = dblArray[i] ;

int MinValueIndex = i ;

for(int j = i; j ngth; 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 ;

}

信阳哪里治白癜风最好
什么降压药效果好
南京治疗白癜风医院
推荐资讯