test.cpp

来自「数据结构 金元平 答案」· C++ 代码 · 共 100 行

CPP
100
字号
#include <ctime>
#include <iostream>
using namespace std;
#include "maxPQ.h"

int main()
{
	srand(time(0));
	const int m=1000;
	int n[6]={100, 500, 1000, 2000, 3000, 4000};
//maxHeap
	cout<<m<<" times of deleting and inserting in maxHeap:"<<endl;
	for (int i=0; i<6; i++)
	{
		long begin;
		long finish;
		int d;

		maxHeap<int> maxPQ_heap(n[i]);
		for (int j=1; j<n[i]; j++)
		{
			d = 1+rand()%n[i];
			element<int> e(d,d);
			maxPQ_heap.Insert(e);
		}

		time(&begin);
		for (int k=0; k<m; k++)
		{
			d = 1+rand()%n[i];
			element<int> ie(d,d);
			maxPQ_heap.Insert(ie);
			maxPQ_heap.Delete(ie);
		}
		time(&finish);

		cout<<"size of maxHeap:"<<n[i]<<'\t'<<"total time:"<<static_cast<double>(finish-begin)<<endl;
	}

//maxNonsequenceList
	cout<<m<<" times of deleting and inserting in maxNonsequenceList:"<<endl;
	for (i=0; i<6; i++)
	{
		long begin;
		long finish;
		int d;

		maxNonsequenceList<int> maxPQ_nonsequence(n[i]);
		for (int j=1; j<n[i]; j++)
		{
			d = 1+rand()%n[i];
			element<int> e(d,d);
			maxPQ_nonsequence.Insert(e);
		}

		time(&begin);
		for (int k=0; k<m; k++)
		{
			d = 1+rand()%n[i];
			element<int> ie(d,d);
			maxPQ_nonsequence.Insert(ie);
			maxPQ_nonsequence.Delete(ie);
		}
		time(&finish);

		cout<<"size of maxNonsequenceList:"<<n[i]<<'\t'<<"total time:"<<static_cast<double>(finish-begin)<<endl;
	}

//maxSequenceList
	cout<<m<<" times of deleting and inserting in maxSequenceList:"<<endl;
	for (i=0; i<6; i++)
	{
		long begin;
		long finish;
		int d;

		maxSequenceList<int> maxPQ_sequence(n[i]);
		for (int j=1; j<n[i]; j++)
		{
			d = 1+rand()%n[i];
			element<int> e(d,d);
			maxPQ_sequence.Insert(e);
		}

		time(&begin);
		for (int k=0; k<m; k++)
		{
			d = 1+rand()%n[i];
			element<int> ie(d,d);
			maxPQ_sequence.Insert(ie);
			maxPQ_sequence.Delete(ie);
		}
		time(&finish);

		cout<<"size of maxSequenceList:"<<n[i]<<'\t'<<"total time:"<<static_cast<double>(finish-begin)<<endl;
	}

	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?