zoukankan      html  css  js  c++  java
  • C#排序算法的实现---选择排序

    一、算法原理

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

      选择排序算法的运作如下:

      1.对比数组中前一个元素跟后一个元素的大小,如果后面的元素比前面的元素小则用一个变量k来记住他的位置

      2.接着第二次比较,前面“后一个元素”现变成了“前一个元素”,继续跟他的“后一个元素”进行比较如果后面的元素比他要小则用变量k记住它在数组中的位置(下标),               等到循环结束的时候,下标k的元素就是最小的数

      3.判断下标k的元素是不是第一个元素,否则就把下标k的元素和第一个元素交换

      4.以此类推

    二、算法分析

      选择排序的时间复杂度是O(n^2),是不稳定的排序算法。

    三、算法实现

    public class SelectionSort
        {
           public void Sort(int[] list)
           {
               int k = 0;
               for (int i = 0; i < list.Length - 1; i++)
               {
                   for (int j = i; j < list.Length; j++)
                   {
                       if (list[k] > list[j])
                           k = j;
                   }
                   if (i != k)
                   {
                       int temp = list[i];
                       list[i] = list[k];
                       list[k] = temp;
                   }
               }
           }
        }

      

  • 相关阅读:
    将一堆图片自适应页面排列
    用正则匹配富文本中的文本,并替换其内容
    实战
    从 defineProperty 到 Proxy
    CSS 实现蜂巢/六边形图集
    Umi 小白纪实(三)—— 震惊!路由竟然如此强大!
    无题
    贺文
    模型可解释性方法--lime
    多模态融合注记
  • 原文地址:https://www.cnblogs.com/DCLi/p/SelectionSort.html
Copyright © 2011-2022 走看看