上机实验1--统计求最大最小元素的平均比较次数

Posted hqx-curiosity

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了上机实验1--统计求最大最小元素的平均比较次数相关的知识,希望对你有一定的参考价值。

题目:

//上机实验题1--统计求最大最小元素的平均比较次数
/*随机产生10个1~20的随机整数,设计一个算法找其中最大元素和最小元素,并统计元素之间的比较次数*/ 
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define MAXN 10
void randa(int a[],int n){
	int i;
	for(i=0;i<n;i++)
		a[i] = rand()%20+1;
}
void MaxMin(int a[],int n,int &comp){
	int i,max,min;
	max = min =a[0];
	comp=0;
	for(i=1;i<n;i++){
		comp++;
		if(a[i]>max)
			max = a[i];
		else{
			comp++;
			if(a[i]<min){
				min = a[i];
			}
		}
	}
	for(i=0;i<n;i++)
		printf("%3d",a[i]);
	printf(" :最大值 = %d,最小值 = %d,比较次数 = %d",max,min,comp);
} 
int main(){
	int a[MAXN];
	int m,count=0,comp,sumcomp;
	srand((unsigned)time(NULL));	//
	for(m=1;m<=10;m++)
	{
		printf("
第%2d组:",++count);
		randa(a,10);
		MaxMin(a,10,comp);
		sumcomp += comp; 
	} 
	printf("
平均比较次数 = %g",1.0*sumcomp/10);
}

  

以上是关于上机实验1--统计求最大最小元素的平均比较次数的主要内容,如果未能解决你的问题,请参考以下文章

直接插入排序的比较次数移动次数和赋值次数 最小/最大/平均值

算法第二章上机实验报告

算法第四章上机实验报告

数组的算法

python求最大值、最小值、求和、平均值

备战数学建模5-数据统计分析多项式计算