C++STL排序算法验证
发布时间:2020-12-16 07:47:14 所属栏目:百科 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 /***********************************************************************这里是vs2010工程中用来测试的程序,一并附上**************************
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 /********************************************************************** *这里是vs2010工程中用来测试的程序,一并附上 *********************************************************************/ // mySort.cpp : 定义控制台应用程序的入口点。 // 关于一些排序的知识: /* 对于一些语言(如java),一般的对象排序,通常比较元素最为费事,而移动元素时比较多。在排序算法中,归并排序比较次数最少, 所有在java标准库中排序大多数都是用归并排序。 对于C++而言,对于一般排序,当对象很大时,复制对象耗时比较多,而比较元素耗时较少。 在排序算法中,快速排序复制对象次数最少。 而C++的标准库中的排序算法也一般采用快速排序(变种快排或快排与其他排序结合,而不是简单的采用标准快排)。C++对象比较耗时少, 是因为编译器处理函数模板的扩展时具有强大的执行在线优化的能力。快速排序也是已知实践中最快的排序算法,时间复杂度为O(NlogN)。 虽然快排的最坏情况为二次函数,但稍加优化就能有效避免这种情况。 */ #include "stdafx.h" #include <iostream> #include "quickSort.h" #include "heapSort.h" #include "shellSort.h" #include "mergeSort.h" #include <time.h> #include <algorithm> #define random(x) (rand()%x) int _tmain(int argc,_TCHAR* argv[]) { long long start,end; start = clock(); vector<int> vecInt; int i= 0; for (; i < 15; i++) { vecInt.push_back(random(67)); cout<<vecInt[i]<<" "; } cout << endl; //sort(vecInt.begin(),vecInt.end()); //quickSort(vecInt); //heapMaxSort(vecInt); //heapMinSort(vecInt); //shellSort(vecInt); //mergeSort(vecInt); i = 0; for (;i < 15; i++) { cout<<vecInt[i]<<" "; } cout <<endl; end = clock(); long long time = end -start; cout<<time<<"@@@@@@@@@@@@"<<endl; return 0; } 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |