Chinaunix首页 | 论坛 | 博客
  • 博客访问: 60186
  • 博文数量: 40
  • 博客积分: 1607
  • 博客等级: 上尉
  • 技术积分: 382
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-09 16:35
文章分类

全部博文(40)

文章存档

2011年(1)

2010年(30)

2009年(9)

我的朋友

分类: C/C++

2009-12-21 12:46:05

插入排序法:

//显而易见,不用注释了


template<class T>
void insertionsort (T data[], int n){
    for(int i = 1,j; i < n; i ++){
        T tmp = data[i];
        for (j = i; j > 0 && tmp < data[j - 1]; j --){
            data[j] = data[j - 1];
            data[j] = tmp;
        }
    }
}

冒泡排序法:

//显而易见,不多介绍

template<class T>
void bubblesort(T data[], int arrsize)
{
    for(int i = 0, j; i < arrsize - 1; i ++){
        for(j = arrsize - 1; j > 0; j --){
            if(data[j] < data[j - 1])
                swap(data[j],data[j - 1]);
        }
    }
}

选择法排序:

//同样的不多说了


template<class T>
void selection(T data, int n)
{
    for(int i = 0, j, least; i < n-1; i++){
        for(j = i+1, least = i; j < n; j++)
            if(data[j] < data[least])
                least = j;
        if(least != i)
            swap(data[least], data[i]);
    }
}


阅读(285) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~