求最大值与最小值的算法

求最大值与最小值的算法,第1张

int[] n = {1,2,3,4,5,6,7,8,9,10};int max = n[0];int min = n[0];for(int i = 1;i < 10;i++){ if(min > n[i]){ min = n[i]; } if(max < n[i]){ max = n[i]; }}Systemoutprintln("max=" + max);Systemoutprintln("min=" + min);

用冒泡排序, 把数组排序成从大到小, 然后分别取出第一项 和最后一项 就分别是最大和最小值

public class BubbleSort {

public void sort(int[] a) {

int temp = 0;

for (int i = alength - 1; i > 0; --i) {

for (int j = 0; j < i; ++j) {

if (a[j + 1] < a[j]) {

temp = a[j];

a[j] = a[j + 1];

a[j + 1] = temp;

}

}

}

}

}

//求一个数组A[ij]的最大值和最小值,分支算法,递归实现

//201529

//dev c++

#include<stdioh>

#include<malloch>

int min(int a,int b){

    return a<b a:b;

}

int max(int a,int b){

    return a>b a:b;

}

int MaxMin(int a[],int i,int j)

{

     int m=(int )malloc(2sizeof(int));

     if(j-i+1==1){

         m[0]=m[1]=a[i];

         return m;

     }

     if(j-i+1==2){

         if(a[i]<a[j]){

             m[0]=a[i];

             m[1]=a[j];      

         }

         else{

             m[0]=a[j];

             m[1]=a[i];

         }

         return m;

     }

     int k=(j-i+1)/2;

     int m1 = MaxMin(a,i,k);

     int m2 = MaxMin(a,k+1,j);

     m[0]=min(m1[0],m2[0]);

     m[1]=max(m1[1],m2[1]);

     return m;

}

int main()

{

    int a[128];

    int n;

    int i;

    while(scanf("%d",&n)!=EOF){

        for(i=0;i<n;i++){

            scanf("%d",&a[i]);

        }

        int m = MaxMin(a,0,n-1);

        printf("%d %d\n",m[0],m[1]);

    }

    return 0;

}

#include<stdioh>

int main()

{void sort(int b[],int n );

int i,n,b[200];

scanf("%d",&n);

printf("enter array:\n");

for(i=0;i<n;i++)

scanf("%d",&b[i]);

sort(b,n);

for(i=0;i<n;i++)

printf("%d ",b[i]);

printf("\n");

return 0;

}

void sort(int b[],int n )

{int i,j,t;

for(i=0;i<n-1;i++)

for(j=0;j<n-1-i;j++)

if(b[j]<b[j+1])

{t=b[j];b[j]=b[j+1];b[j+1]=t;}

}

#include <stdioh>

void minmax(int array[], int begin, int end, int &min, int &max, int &count)

{

int mid = (begin + end)/2;

if (begin == end)

{

count++;

if (array[mid] < min) {

min = array[mid];

} else {

if (array[mid] > max)

max = array[mid];

count++;

}

return;

}

minmax(array, begin, mid, min ,max, count);

minmax(array, mid + 1, end, min ,max, count);

}

void main()

{

int array[10] = {9,8,7,6,5,4,3,2,1,0};

int min = array[0], max = -1, count = 0;

minmax(array, 0,9,min,max,count);

printf("min = %d, max = %d, count = %d\n", min,max,count);

}

package A00002;

import javautilScanner;

/

10个数字的最大值和最小值

/

public class Test {

public static void main(String[] args) {

Scanner input =new Scanner(Systemin);

Systemoutprintln("请输入10个数字:");

int Arr[]=new int[10];

int min=0;

int max=0;

for(int i=0;i<Arrlength;i++){

Arr[i]=inputnextInt();

}

max=Arr[0];

min=Arr[0];

for(int j=0;j<Arrlength;j++){

if(Arr[j]>max){

max=Arr[j];

if(Arr[j]<min){

min=Arr[j];

}

}

Systemoutprintln("你输入的是:"+"\t");

Systemoutprintln(Arr[j]);

}

Systemoutprintln("最 大 值:"+max);

Systemoutprintln("最 小 值:"+min);

}

}

我直接写的,可能有小问题自己改一下

//用户输入略

int[] num = new int[15];//用户所输入的15个数

int min = IntegermaxValue;//保存最小值,初始化为最大的Int值

int max = -1;//保存最大值

int sum = 0;//保存总和

for(int i = 0;i<numlength;i++){

if(min>num[i]){

min = num[i];

}

if(max<num[i]){

max = num[i];

}

sum = sum + num[i];

}

Systemoutprintln("最小值:"+min+",最大值:"+max+",平均值:"+sum/numlength);

int get_len_max_min(int pnums, int pmax, int pmin) {

int pcur = pnums;

pmax=pmin=pcur;

pcur++;

while(pcur!=END_MARK ) {

if (pcur>pmax) pmax=pcur;

if (pcur<pmin) pmin=pcur;

pcur++;

}

return pcur-pnums;

}

以上就是关于求最大值与最小值的算法全部的内容,包括:求最大值与最小值的算法、请设计一个算法:输入实数a1,a2,...aN,输出a1,a2,..aN中最大的数和最小的数,并画出程序图。、分治算法的一个小问题,求一个数组的最大最小值,算法如图,怎么实现求指教等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10169855.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存