排序算法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选择排序算法源码

  • 2013年12月31日 21:53
  • 3KB
  • 下载

C / C++算法学习笔记(1)-快速排序算法

本文原始地址:C / C++算法学习笔记(1)-快速排序算法   算法思想: 快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。   关于分治法 ...

选择排序算法

  • 2014年03月25日 14:36
  • 1.02MB
  • 下载

直接插入和选择排序算法

  • 2012年04月01日 17:52
  • 1KB
  • 下载

(1)排序算法——选择排序

排序算法有很多,包括选择排序、插入排序、冒泡排序、合并排序、快速排序、堆排序等,这些算法各有优点。首先,我们先看下不同时间复杂度的区别: 选择排序算法是在列表中找到最小(大)数,并将其放在表头(尾)...

c#实现选择排序算法

  • 2009年06月23日 17:41
  • 12KB
  • 下载

排序算法总结(1)--选择排序

选择排序的介绍和java代码

选择排序算法的动态演示程序

  • 2012年04月21日 17:12
  • 31KB
  • 下载

C语言---选择排序算法源代码

  • 2011年11月16日 13:33
  • 1KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:排序算法1--选择排序
举报原因:
原因补充:

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