zoukankan      html  css  js  c++  java
  • 《简单选择排序》

    基本思想

      假如有一堆苹果在“篮子”中,第一次从这一堆苹果中找到最小的那个苹果放到“盘子”里。然后继续从这一堆苹果中再去找最小的苹果放到盘子里以此排开,然后就这样不断的重复直到将所有的无序苹果从篮子中按照从小到大的顺序排列在盘子中。当然最后只剩一个苹果的时候就不用筛选了。

    代码实现

    namespace _007_简单选择排序
    {
    class Program
    {
    static void SelectSort(int[] dataArray)
    {
    for (int i = 0; i < dataArray.Length-1; i++)
    {
    int min = dataArray[i]; //假设现在i是最小的那个苹果
    int minIndex = i; //假设最小的索引就是这个
    for (int j = i+1; j < dataArray.Length; j++)
    {
    if (dataArray[j]<min)
    {
    min = dataArray[j];
    minIndex = j;
    }
    }
    if (minIndex!=i) //如果不是最小值的时候那么久交换位置
    {
    int temp = dataArray[i];
    dataArray[i] = dataArray[minIndex]; //将最小值得位置放到i的位置
    dataArray[minIndex] = temp; //交换
    }
    }
    }
    static void Main(string[] args)
    {
    int[] selectArray = new int[] { 43, 23, 45, 20, 34,8 };
    SelectSort(selectArray);
    foreach (var item in selectArray)
    {
    Console.Write(item+" ");
    }
    Console.ReadKey();
    }
    }
    }

      

  • 相关阅读:
    codevs 1993草地排水
    欧拉筛板子
    约数和问题 (codevs2606 && 洛谷2424)
    排列组合
    Picture poj1177
    楼房 洛谷1382 && codevs2995
    洛谷P1027 Car的旅行路线
    codevs1020 孪生蜘蛛
    HDU1269 迷宫城堡
    洛谷P1078 文化之旅
  • 原文地址:https://www.cnblogs.com/ylllove/p/6682792.html
Copyright © 2011-2022 走看看