文档章节

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
运维

暂无文章

关于Jackson默认丢失Bigdecimal精度问题分析

问题描述 最近在使用一个内部的RPC框架时,发现如果使用Object类型,实际类型为BigDecimal的时候,作为传输对象的时候,会出现丢失精度的问题;比如在序列化前为金额1.00,反序列化之后为1.0...

ksfzhaohui
18分钟前
0
0
vue less安装

$ npm install less less-loader --save 安装成功后修改文件:build>webpack.base.conf.js 在model.rules添加对象: { test: /\.less$/, loader: "style-loader!css-loader!less-loade......

shawnDream
23分钟前
0
0
kolla-ansible部署容器ceph

kolla是从openstack孵化出的一个项目,kolla项目可以制作镜像包括openstack、ceph等容器镜像, ansible是自动化部署工具,执行playbook中的任务。 kolla-ansible是容器部署工具,部署opensta...

zrz11
28分钟前
0
0
【三 异步HTTP编程】 1. 处理异步results

异步results 事实上整个Play框架都是异步的。Play非阻塞地处理每个request请求。 默认的配置适配的正是异步的controller。因此开发者应该尽力避免在在controller中阻塞,如在controller方法中...

Landas
30分钟前
0
0
Android Studio 3.1.4 buildApk遇到问题 Connection reset

打开设置,找到Android Studio选项卡,把下图选项打上勾就ok

lanyu96
30分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部