现在的位置: 首页 > 综合 > 正文

选择排序算法

2018年06月10日 ⁄ 综合 ⁄ 共 1290字 ⁄ 字号 评论关闭

每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法。

 

//选择排序算法

 
对数arr使用选择排序算法排序,有两种方式

第一种是,首先假设第一个元素为最小,然后拿第一个与第二个相比,如果第二个小,那么就交换值,保持第一个为最小,一直比较到最后一个元素,然后再从第二个开始上一个步骤。

第二种是, 首先假设第一个元素为最小,然后拿第一个与第二个相比,如果第二个小,那么就取出第二个的索引值index=2,第一个循环结束后,得到最小值的索引,最后和第一个元素交换。

publicvoid
SelectionSort()

 

        {

           

//第一种 直接交换,比较一个最小的就放到第一位

 

           

//for (int j = 0; j < arr.Length-1; j++)

 

           

//{

 

           

//    int min, temp;

 

           

//    min = arr[j];

 

           

//    for (int i = j+1; i < arr.Length; i++)

 

           

//    {

 

                  

           

//        if (arr[j] > arr[i])

 

           

//        {

 

           

//            temp = arr[j];

 

           

//            arr[j] = arr[i];

 

           

//            arr[i] = temp;

 

           

//        }

 

 

           

//    }

 

           

//    this.DisplayElements();

 

           

//    Console.Write("\n");

 

           

//}

 

           

//第二种  比较保存较小的index值,最后放到第一位

 

           

for
(
int
j = 0; j < arr.Length-1; j++)

 

            {

               

int
min,temp;

 

                min = j;

               

for
(
int
i = j+1; i < arr.Length; i++)

 

                {

                   

if
(arr[min] > arr[i])

 

                    {

                        min = i;

                    }

                }

                temp = arr[j];

                arr[j] = arr[min];

                arr[min] = temp;

 

            }

        }

       

 

 

【上篇】
【下篇】

抱歉!评论已关闭.