• 简单选择排序的实现


         简单的选择排序,就是从未排序的元素中选择出最小的一个,放在相应的位置。比如,首先是从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;
      }
     }
    }

  • 相关阅读:
    《基于CMMI的软件工程及实训指导》第一章读书心得
    第一个微信小项目
    自己设计大学排名-数据库实践
    第一次爬虫和测试
    预测球队比赛成绩
    自己的第一个网页
    科学计算和可视化
    第一个微信小项目
    数据库实际
    第一个爬虫和测试
  • 原文地址:https://www.cnblogs.com/xingma0910/p/2696375.html
Copyright © 2020-2023  润新知