排序算法1--选择排序

原创 2007年09月15日 14:40:00
最近一直在忙于自己的毕业课题,大部分时间都用在理论研究和在Linux下用NS2仿真上了,已经半年没有动手编写代码。为了巩固自己的基础知识,从最简单的选择排序开始复习。程序中可能有不足或错误的地方,欢迎大家指正!

template <class T>
void swap(T *A, T *B)
...{
    T temp;

    temp 
= *A;
    
*= *B;
    
*= temp;
}


template 
<class T>
void selection_sort(T *Array, int Size, bool Ascending = true)
...{
    assert(Array 
!= NULL);
    assert(Size 
>= 2);

    
int i, j;

    
if (Ascending)
    
...{
        
for (i = 0; i < Size-1; i++)
            
for (j = i+1; j < Size; j++)
                
if (Array[j] < Array[i])
                    swap(
&Array[i], &Array[j]);
    }

    
else
    
...{
        
for (i = 0; i < Size-1; i++)
            
for (j = i+1; j < Size; j++)
                
if (Array[j] > Array[i])
                    swap(
&Array[i], &Array[j]);
    }

        
}

【排序算法】选择排序原理及Java实现

选择排序是一种简单直观的排序算法,其基本原理如下:对于给定的一组记录,经过第一轮比较后得到最小的记录,然后将该记录的位置与第一个记录的位置交换;接着对不包括第一个记录以外的其他记录进行第二次比较,得到...
  • jianyuerensheng
  • jianyuerensheng
  • 2016年04月26日 21:28
  • 2416

排序算法Java实现——选择排序(直接选择排序)

基本思想:n个记录的文件的直接选择排序可经过n-1趟直接选择排序得到有序结果 第一次比较:程序将记录定位在数组的第一个位置,拿第一个数据与后面的每个数据对比,用一个变量mix记录比第一个数小的数据的索...
  • singit
  • singit
  • 2017年04月22日 22:30
  • 580

数据结构排序系列详解之六 树形选择排序

这篇博客接着来说说选择类排序之一的排序:树形选择排序 在简单选择排序中,每次的比较都没有用到上次比较的结果,所以比较操作的时间复杂度是O(N^2),想要降低比较的次数,则需要把比较过程中的大小关系保存...
  • S04103037
  • S04103037
  • 2013年07月30日 11:39
  • 2354

选择排序和归并排序

选择排序 选择排序的基本思想:每一次在n-i+1(i=1,2,…,n-1)个记录中选取键值最小的记录作为有序序列的第i个记录。 直接选择排序 直接选择排序算法的基本思想:在第i次选择操作中,通过...
  • u013044000
  • u013044000
  • 2015年10月04日 22:03
  • 779

“深入理解”—选择排序算法

选择排序算法有两种:直接选择排序和堆排序
  • qq_25827845
  • qq_25827845
  • 2016年07月10日 11:37
  • 2095

《数据结构--排序》之选择排序

1.序 选择排序(selection sort)的基本思想是:每一趟在序列 sq[1],sq[2],...,sq[length]中选取关键字最大的记录作为序列最后一个记录,然后再从剩下的记录...
  • zhccl
  • zhccl
  • 2012年09月09日 20:04
  • 3255

排序算法之 选择排序 及其时间复杂度和空间复杂度

其实选择排序是非常简单的,和冒泡排序有异曲同工之妙。就是把元素分成两部分,一部分是有序的,另外一部分是无序的;每次循环从无序的元素中选取一个元素放到有序的元素中,依次循环到最后把所有元素都放到了有序那...
  • YuZhiHui_No1
  • YuZhiHui_No1
  • 2015年03月17日 11:44
  • 6817

排序算法六:选择排序之直接选择排序

排序算法六:选择排序声明:引用请注明出处http://blog.csdn.net/lg1259156776/引言在我的博文《“主宰世界”的10种算法短评》中给出的首个算法就是高效的排序算法。本文将对排...
  • LG1259156776
  • LG1259156776
  • 2015年09月26日 10:24
  • 2974

排序算法之选择法排序(C/C++)

简单选择排序的基本思想:第1趟,在待排序记录r[1]~r[n]中选出最小的记录,将它与r[1]交换;第2趟,在待排序记录r[2]~r[n]中选出最小的记录,将它与r[2]交换;以此类推,第i趟在待排序...
  • zgaoq
  • zgaoq
  • 2017年01月17日 20:19
  • 1857

八大排序算法之选择排序

选择排序—简单选择排序(Simple Selection Sort)
  • ye_scofield
  • ye_scofield
  • 2014年09月16日 10:10
  • 8721
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:排序算法1--选择排序
举报原因:
原因补充:

(最多只允许输入30个字)