#include<iostream>
#include <time.h>
#include<cstdlib>
#include<ctime>
#define random(x) (rand()%x)
using namespace std;
//double sort
int S[1000000];
int begin;
int end;
void swap(int i, int j){
int temp = S[i];
S[i] = S[j];
S[j] = temp;
}
int sort(int size){
for(int i=1;i<size;i++){
S[i] = random(100);
}
begin = clock();
for(int i=size-1;i>=0;i--){
for(int j=0;j<i;j++){
if(S[j] < S[j+1]){
swap(j,j+1);
}
}
}
end = clock();
return end-begin;
}
int main(){
int n = 5;//experiment times;
cout << "experimenting......" << endl;
int size = 10;
for(int i=0;i<n;i++){
cout <<i<<"experiment... size "<<size<<endl;
sort(size);
size*=10;
cout << end-begin << "/" << CLOCKS_PER_SEC << " (s) "<< endl;
}
}算法分析作业
最新推荐文章于 2024-11-26 18:59:55 发布
本文介绍了一个简单的随机数生成与冒泡排序算法实验。通过C++实现,该程序能够生成指定范围内的随机数,并使用冒泡排序算法进行排序,同时记录并输出排序过程所需的时间。实验中逐步增加待排序数组的大小,观察排序效率的变化。

955

被折叠的 条评论
为什么被折叠?



