复杂度为(3/2n)的取出最大值和最小值的算法

来源:互联网 发布:asp源码 自助建站 编辑:程序博客网 时间:2024/06/05 06:05
#include<stdio.h>void main(){    int a[100],i,j,n,min,max;    printf("please input the number:\n");    scanf("%d",&n);    printf("please input:\n");    for(i=1;i<=n;i++){        scanf("%d",&a[i]);}    if(n%2==1){        min=max=a[1];}    else if(a[1]<a[2]){        min=a[1];        max=a[2];}    else{        min=a[2];        max=a[1];}    for(i=1;i<=n;i++){        if(a[i]>a[i+1]){             if(min>a[i+1]) {                 min=a[i]; }            if(a[i]>max){                 max=a[i+1];}}        else{             if(min>a[i]) {                 min=a[i]; }             if(a[i+1]>max) {                 max=a[i+1]; }}}    printf("max=%d min=%d",max,min);    printf("\n");}


原创粉丝点击