数组排序以及所需时间。。

原创 2013年12月04日 14:30:21

分别调用冒泡排序和选择排序,比较两种算法哪个更快,计算算法需要的时间。。

#include<iostream>
#include<fstream>
#include<cstdlib>
#include<ctime>
const int number=5000;
using namespace std;
int main()
{
       long t1,t2;
//     srand(time(0));
       int a[number];
//     double sum=0;
//     double ave=0;
       ifstream infile("123.txt");
//     infile.open("123.txt");
       if(!infile)
	 {
	 	cerr<<"file is not open..";
	 	exit(1);
	 }
	 	for(int i=0;i<number;i++)
	{
//		cout<<"输入第";
//		cout.width(2);
//		cout<<i+1<<"名学生成绩: ";
		infile>>a[i];
//		cout<<a[i]<<endl;
	}
	infile.close();
	int num=0;
	t1=time(0);
	for(int i=0;i<number-1;i++)
		for(int j=0;j<number-1-i;j++)
	{
		if(a[j]<a[j+1])
		{
			num=a[j];
			a[j]=a[j+1];
			a[j+1]=num;
		}
	}
	t2=time(0);
	for(int i=0;i<number;i++)
	{
		//cout<<a[i]<<".";
	}
	cout<<endl;
	cout<<"冒泡法耗时为:"<<t2-t1<<endl;
        cout<<endl;
        cout<<endl;
	ifstream infile2("123.txt");
	if(!infile2)
	{
		cerr<<"file is not open!!!"<<endl;
		exit(1);
	}
	for(int i=0;i<number;i++)
	{
//		cout<<"输入第";
//		cout.width(2);
//		cout<<i+1<<"名学生成绩: ";
		infile2>>a[i];
//		cout<<a[i]<<endl;
	}
	infile.close();
	int num2;
	t1=time(0);
	for(int i=0;i<number-1;i++)
		for(int j=i+1;j<number;j++)
		{
			if(a[i]<a[j])
			{
				num2=a[i];
				a[i]=a[j];
				a[j]=num2;
			}
		}
		t2=time(0);
		for(int i=0;i<number;i++)
	{
		//cout<<a[i]<<".";
	}
	cout<<endl;
	cout<<"选择法耗时为:"<<t2-t1<<endl;


   return 0;
}
这个程序统计时间只能统计整秒数,太愁人。把数据加大了不知道多少倍之后,冒泡法才显示程序执行时间为1.。而且由于机器本身的问题,有的时候还是两个程序的运行时间都是0.竟然还有一次冒泡法的时间为0,选择法的时间为1.。应该找一个可以计算时间更精确的方法。。。。

【Java】数组--利用冒泡算法给日期排序

代码public class TestDateSort { public static void main(String[] args) { Date[] days = new...
  • Gnd15732625435
  • Gnd15732625435
  • 2017年02月25日 10:09
  • 689

Home Work

临近开学了,大家都忙着收拾行李准备返校,但I_Love_C却不为此担心!  因为他的心思全在暑假作业上:目前为止还未开动(-_-!!还以为他有多冷静呢)。 暑假作业是很多张试卷,我们这些从试卷...
  • hwmt2012
  • hwmt2012
  • 2014年07月09日 20:11
  • 559

关于搜索引擎及其开发之二

前两天去九华山庄参加了CSDN的2.0大会,有幸听了一些前辈和大师的思想和理解!受益匪浅!这其中跟搜索引擎开发相关比较紧密的是雷鸣的演讲。因为他以前就是做搜索引擎的,而且被李彦宏成为"中国最好的工程师...
  • xwjbs
  • xwjbs
  • 2007年12月16日 10:12
  • 1800

sql server 2008查询作业所花费时间(亲自实践)

今天被问到服务器上制定的作业,运行都需要多长时间 查了查,从工作log中看不出来,于是上网搜索了一番. 关键涉及到SQL Server中的2个表 msdb.dbo.sysjobsmsdb 和 .d...
  • bigheadsheep
  • bigheadsheep
  • 2012年07月06日 15:45
  • 1361

java Arrays.sort的使用问题

首先运行下面的代码: public static void main(String[] args) { Object[] objs={ new Integer(5)...
  • seacean2000
  • seacean2000
  • 2013年09月22日 11:04
  • 3893

关于Hbase在javaAPI操作表的操作

话不多说,直接看代码就能看清楚每个API是干嘛的。 package hbase; import java.io.IOException; import java.util.ArrayList; i...
  • whoami_zy
  • whoami_zy
  • 2016年12月01日 16:28
  • 224

2.1-2.4.文件读取时间测试

文件选用photoshop cs最佳品质12的编码,其中分别的主要应用480*272,800*480, 800*600,1024*768的4种分辨率类型进行测试.测试条件为,OS时钟节拍选用100us...
  • abbottn
  • abbottn
  • 2015年03月30日 13:08
  • 151

关于C语言时间获取函数调用的概念

在C语言的程序开发过程中,经常会用到获取时间的函数。而获取到的时间又分为本地时间还有世界统一时间UTC。对于这两个概念,世界的每个地区都有自己的本地时间,在Internet及无线电通信时,时间的统一非...
  • talent_CYJ
  • talent_CYJ
  • 2016年04月19日 09:51
  • 673

ios充电所需时间

#import @interface ViewController : UIViewController @property (nonatomic, assign) float prevBa...
  • ox2A19
  • ox2A19
  • 2014年09月03日 17:32
  • 580

神奇的KMP——线性时间匹配算法(初学者请进)

这个算法很抽象、很难理解,看了很多博客也没看懂。所以,我决心写一篇博客,一篇算法初学者也能看得懂的博客。...
  • GGN_2015
  • GGN_2015
  • 2017年03月27日 16:19
  • 527
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数组排序以及所需时间。。
举报原因:
原因补充:

(最多只允许输入30个字)