为什么得不到我想要怒放的生命的从小到大的排序,数字都是乱的。(C++)

[C/C++]_[对数组内的数字进行从小到大排序] - c++语言程序开发技术文章_c++编程 - 红黑联盟
[C/C++]_[对数组内的数字进行从小到大排序]
1.有时候需要把集合或数组里的数据排序后展现出来时.
2.由于有些数据结构处理需要先对数组进行排序才能进行时.
文件: test_sort.cpp
#include &stdio.h& &
#include &algorithm& &
#include &stdlib.h& &
#include &iostream& &
#include &time.h& &
#include &assert.h& &
#include &vector& &
#include &.h& &
void InsertSort(vector&int&& array,size_t length) &
& & int key = 0; &
& & for(size_t j=1;j&++j) &
& & & & int i = j-1; &
& & & & key = array[j]; &
& & & & while(i&=0 && array[i] & key) &
& & & & { &
& & & & & & array[i+1] = array[i]; &
& & & & & & --i; &
& & & & } &
& & & & array[i+1] = &
bool cmp(int a,int b) &
& & return a&b; &
int main(int argc, char *argv[]) &
& & printf(&Hello, world\n&); &
& & //RAND_MAX &
& & srand(time(NULL)); &
& & const int kMaxNum = 100000; &
& & vector&int& v1(kMaxNum,0); &
& & for(int i=0;i&kMaxN++i) &
& & & & v1[i] = rand()%100; &
& & vector&int& v2(v1); &
& & //这个在windows下是毫秒级别. &
& & //1.使用库函数排序. & & &
& & cout && CLOCKS_PER_SEC && &
& & double time=clock(); &
& & sort(v1.begin(),v1.end(),cmp); &
& & double Inteval = clock()- &
& & cout && &排序耗时 单位(毫秒): & && Inteval && &
& & //1.验证排序. &
& & int pre = v1[0]; &
& & for(int i=0;i&kMaxN++i) &
& & & & assert(v1[i] &= pre); &
& & & & pre = v1[i]; &
& & //2.使用自己的排序算法. &
& & size_t length = v2.size(); &
& & time=clock(); &
& & InsertSort(v2,length); &
& & Inteval = clock()- &
& & cout && &插入排序耗时 单位(毫秒): & && Inteval && &
& & pre = v1[0]; &
& & for(int i=0;i&kMaxN++i) &
& & & & assert(v1[i] &= pre); &
& & & & pre = v1[i]; &
& & return 0; &
输出,执行了4次,可见插入排序的确不怎么地:
Hello, world &
排序耗时 单位(毫秒): 36 &
插入排序耗时 单位(毫秒): 32114 &
Hello, world &
排序耗时 单位(毫秒): 38 &
插入排序耗时 单位(毫秒): 27737 &
Hello, world &
排序耗时 单位(毫秒): 37 &
插入排序耗时 单位(毫秒): 32807 &
Hello, world &
排序耗时 单位(毫秒): 44 &
插入排序耗时 单位(毫秒): 28157 &C++常用排序法、随机数_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
C++常用排序法、随机数
上传于||文档简介
&&常​用​排​序​算​法​的​c​+​+​语​言​实​现​。​
​
​随​机​数​的​产​生​方​法​。
阅读已结束,如果下载本文需要使用
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩13页未读,继续阅读
你可能喜欢关于C++编程的函数模板的问题(实现将n个数字从小到大排序后输出)_百度知道
关于C++编程的函数模板的问题(实现将n个数字从小到大排序后输出)
if(a[i]& input(int a[100]),T t){
for(int j=0; double a[100]:&
cout&i&&lt?真的十分感谢,double t); compare(int a[100],但出现了几个错误;i& output(double a[100]);&gt,可是我却不知道错误出在了哪里;;template&&
a[i]=a[i+1];a[i],int t);T input(T a[100]){ cout&
output(int a[100]);}T compare(T a[100],有哪位专业人士能帮忙看一下吗;n-1;&n;&& int a[100]:&quot,long t);&
}}T output(T a[100]){ cout&n; long a[100];}int main(){ cout&j++)
for(int i=0;
a[i+1]=t; compare(long a[100];endl!; compare(double a[100]!;&
input(double a[100]);&
input(long a[100])!#include& output(long a[100]);&gt:&&lt我有一个关于函数模板的程序;& for(int i=0;i&j&&a[i];&pleasiostream&n-1-j;a[i+1]
t=a[i]; return 0;i++)
cout&&pleasecin&the or for(int i=0;typename T&&quot
output(al);&please
a[i]=a[i+1];
long al[100];
compare(j&
compare(n;&i&&}int main(){
cout&typename T&void output(T a[100]){
if(a[i]&gt:&a[i+1])
t=a[i], td);typename T&i&a[i];void compare(T a[100];i++)
cout&&& for(int i=0;n:&i&i++)
}}template&
output(ad);
input(ad), td = 0;&
input(ai);a[i];n-1-j;&&
double ad[100], tl = 0;
compare(}template&&quot,T t){
for(int j=0;
output(ai);
a[i+1]=t, ti = 0;
cout&n-1;typename T&
int ai[100];&lt,只是语法错误;void input(T a[100]){ cout&
cin&gt, tl);
for(int i=0;&&lt, ti);n;
input(al);&j++)
for(int i=0,改正下;&template&lt:&quot:#include&pleasiostream&&&the or
return 0希望你会调试
其他类似问题
为您推荐:
函数模板的相关知识
其他1条回答
每个模板函数前面都要加temlate声明
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁[求助]C++编写,三个大数组(按升序排列,只是数字)选出第一个相同元素问题
[问题点数:20分]
[求助]C++编写,三个大数组(按升序排列,只是数字)选出第一个相同元素问题
[问题点数:20分]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2009年9月 C/C++大版内专家分月排行榜第二
本帖子已过去太久远了,不再提供回复功能。}

我要回帖

更多关于 我想要更多 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信