注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

天涯倦客的博客

祝福你朋友永远快乐!

 
 
 

日志

 
 

C# 简单选择排序  

2011-02-25 14:49:28|  分类: C# |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

简单选择排序(Simple Select Sort)算法的基本思想是:从待排序的记录序列中选择关键码最小(或最大)的记录并将它与序列中的第一个记录交换位置;然后从不包括第一个位置上的记录序列中选择关键码最小(或最大)的记录并将它与序列中的第二个记录交换位置;如此重复,直到序列中只剩下一个记录为止。
设待排序的顺序表sqList中有n个记录,简单选择排序要进行n-1趟,第1趟从n个记录选择关键码最小(或最大)的记录并与第1个记录交换位置;第2趟从第2个记录开始的n-1个记录中选择关键码最小(或最大)的记录并与第2个记录交换位置。一般地,第i趟从第i个记录开始的n-i+1个记录中选择关键码最小(或最大)的记录并与第i个记录交换位置,所以,第n-1趟比较最后两个记录选择关键码最小(或最大)的记录并与第n-1个记录交换位置。
简单选择排序算法的实现如下所示,算法中记录的比较表示记录关键码的比较,顺序表中只存放了记录的关键码:

 public void SimpleSelectSort(List<int> sqList)
          {   
            int tmp = 0;
            int t = 0;
            for (int i = 0; i < sqList.Count; ++i)
            {
                t = i;
                for (int j = i + 1; j <= sqList.Count-1; ++j)
                {
                    if (sqList[t] > sqList[j])
                    {
                    t = j;
                    }
                }
                tmp = sqList[i];
                sqList[i] = sqList[t];
                sqList[t] = tmp;
            }
          }

  评论这张
 
阅读(694)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017