文档章节

selection sort

潜水的挖掘机
 潜水的挖掘机
发布于 2017/02/27 12:16
字数 182
阅读 0
收藏 0
#include<iostream>
#include<string>
#include<ctime>

using namespace std;

//选择排序
template<typename T>
void selectionsort(T arr[], int len)
{
	for (int i = 0; i < len; i++)
	{
		int minIndex = i;
		for (int j = i + 1; j < len; j++)
		{
			if (arr[j] < arr[minIndex])
				minIndex = j;
		}
		swap(arr[i], arr[minIndex]);
	}
}
//随机数组生成函数
int * generateArray(int len,int low,int high)
{
    if(low>high)
        return nullptr;
    int *arr=new int[len];
    srand(time(NULL));
    for(int i=0;i<len;++i)
    {
        arr[i]=random()%(high-low+1)+low;
    }
    return arr;
}

template<typename T>
bool isSorted(int arr[],int len)
{
    for (int i=0;i<len-1;++i)
        if (arr[i]>arr[i+1])
            return false;
    return true;
}

//测试函数
template<typename T>
void sortTest(string sortname,void (*sortfunc)(int arr[],int len),int arr[],int len)
{
    clock_t begin=clock();
    sortfunc(arr,len);
    clock_t end=clock();
    if(isSorted(arr,len))
        cout << sortname << " : " << double(begin-end)/CLOCKS_PER_SEC << "s" << endl;
}

int main()
{
    int *arr=generateArray(2000,0,100);
    sprtTest("selection sort",selectionsort,arr,2000);
    delete[] arr;
	return 0;
}

 

© 著作权归作者所有

共有 人打赏支持
潜水的挖掘机
粉丝 0
博文 13
码字总数 3204
作品 0
运维

暂无文章

谷歌 Fuchsia 上手体验,将取代Android/win10

在手机市场领域,Google表现很抢眼,毫无疑问,Android 至今在移动操作系统的市场份额占据绝对领先地位,但是 Android 仍然存在不少问题,碎片化问题严重,在平板以及大屏幕设备上表现糟糕,...

linux-tao
12分钟前
1
0
List、Array与ArrayList

数组在内存中是连续存储的,所以它的索引速度很快,而且赋值和修改元素也非常快,比如: string[] s=new string[3];//赋值 s[0]="a"; s[1]="b"; s[2]="c";//修改 s[1]="b1"; 但是数组...

shimmerkaiye
15分钟前
0
0
Linux 的Lnmp环境下为mysql添加环境变量

一.问题 在Linux 安装完Lnmp 环境后 , 连接Mysql 告诉没有这条命令 mysql -uroot -p 命令失效 因为是源码安装的,所以会出现这样的的原因 。集成环境是不会出现的。 其实很简单,只需要给m...

15834278076
17分钟前
2
0
apolloxlua include函数

include函数不是单独使用的函数, 他并不是标准库的一部分, 你可以使用include函数将某个后缀为 .aop的文档包含到你的文档流中。 因为include是单独处理流, 所以不会在主处理流程中有所表示...

钟元OSS
21分钟前
0
0
【转载分享】做一名较真的工程师

近些年与我共事过的同事,一定知道我至今仍有一个较真的性格。我会:指出同事所写代码的不当命名问题(并帮助改进);指出同事所写文档中的逻辑混乱问题(并辅以修订);指出同事所写PPT中乱...

HellerZhang
22分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部