zoukankan      html  css  js  c++  java
  • 选择排序

    选择排序:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace 选择排序
    {
        //选择排序与冒泡排序比较的次数是一样的
        //选择排序的交换次数要比冒泡排序的交换次数少

        class Program
        {
            static void Main(string[] args)
            {
                int[] arr = { 15, 0, 10, 50, 55, 35, 15, 20 }; //待排序数组
                SelectSort(arr);   //调用选择排序函数      
            }

            private static void SelectSort(int[] arr)
            {
                int temp = 0;

        int min;
                for (int i = 0; i < arr.Length - 1; i++)
                {
                    min = i;  //记录我认为最小的数的下标

                    for (int j = i ; j < arr.Length; j++)   //这里只是找出这一趟最小的数值并记录下它的下标
                    {
                        //说明我们认为的最小值,不是最小
                        if (arr[j] <  arr[min])    //这里大于号是升序(大于是找出最小值) 小于是降序(小于是找出最大值)
                        {
                            min= j;    //记下它的下标
                        }
                    }
                    //最后把最小的数与第一的位置交换
                    temp = arr[min];    //把第一个原先认为是最小值的数,临时保存起来
                    arr[min] = arr[i];   //把最终我们找到的最小值赋给这一趟的比较的第一个位置
                    arr[i] = temp;  //把原先保存好临时数值放回这个数组的空地方,  保证数组的完整性
                }
                //控制台输出
                foreach (int item in arr)
                {
                    Console.WriteLine( item);
                }
            }
        }
    }

  • 相关阅读:
    VC++删除浮动工具条中“关闭”按钮
    automation无法创建对象
    SQL Server 不产生日志
    收缩数据文件
    VB DoEvents用法
    Sql Server添加用户
    Winsock错误代码一览表
    监控数据库性能的sql
    数据库日志文件清理脚本
    VB 中资源文件的多种使用技巧
  • 原文地址:https://www.cnblogs.com/kangpingfei/p/9571690.html
Copyright © 2011-2022 走看看