zoukankan      html  css  js  c++  java
  • 简单选择排序的实现

         简单的选择排序,就是从未排序的元素中选择出最小的一个,放在相应的位置。比如,首先是从N(假设数组有N个元素)元素中找出最小的一个,然后和第一个元素相比较。如果它比第一个元素小,则交换其与第一个元素的值。否则,说明第一个元素即为最小值,无需移动。接着再在剩下的N-1个元素中找到最小的一个,与第二个元素相比较,若小于则交换值。以此类推,直至最后一个元素。

        以上的方法得出的是升序排列,同时也可以找出最大的元素,实现降序排序。以下是升序排序的相关代码:

    选择排序
    int f_small(int *a,int begin,int end)
    {
     int i,p=begin;
     for (i=begin;i<=end;i++)
     {
      if (a[i]<a[p])
      {
       p=i;
      }
     }
     return p;
    }

    void select(int *a,int n)
    {
     int small_num,temp;
     int current;
     for(current=0;current<n-1;current++)
     {
      small_num=f_small(a,current,n-1);
      if (small_num!=current)
      {
       temp=a[current];
       a[current]=a[small_num];
       a[small_num]=temp;
      }
     }
    }

  • 相关阅读:
    软件项目“免坑”指南
    软件项目质量保证——编码规范
    从Web借鉴UI设计
    C#学习笔记——面向对象、面向组件以及类型基础
    关系数据库设计
    Winform开发框架之插件化应用框架实现
    桌面程序界面设计分享
    2-Bom
    1-简介
    测试
  • 原文地址:https://www.cnblogs.com/xingma0910/p/2696375.html
Copyright © 2011-2022 走看看