⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 maxmin_1.java

📁 本JAVA程序是基于分治法思想的
💻 JAVA
字号:
//本程序核心算法来源于网络!!!!
//2007级专升本应用一班周彦坤   200703030043
import javax.swing.JOptionPane;
public class Maxmin_1
{
   public static void main(String args[])
   {    int a[]=new int[50];
        //int a[]={1,2,3,4,5,6,7};
        //int n=a.length;
        int k=1;
        int i=0;
        int min[]=new int [25];
        int max[]=new int [25];
        String num;
        String aa[]=new String[50];
    
        num=JOptionPane.showInputDialog("enter the total num of the array");
      
        int  n=Integer.parseInt(num);
    
      //单个数不进行比较
   
      if(n!=1)
      {    
       for(i=0;i<n;i++)
       {
         aa[i]=JOptionPane.showInputDialog("请输入数组的每个元素");
        
         a[i]=Integer.parseInt(aa[i]);

       }
       //核心算法开始
        for(i=1;i<(n/2)*2;i=i+2)
        {
          if(a[i-1]<=a[i])
          {
          min[k-1]=a[i-1];
          max[k-1]=a[i];
          k++;
          }
          else
          {
            min[k-1]=a[i];
            max[k-1]=a[i-1]; 
            k++;
          }
        }
    //在MAX中找出最大的,在MIN中找出最小的  *最差情况下比较2*(N/2-1)次
      int maxm=max[0],minm=min[0];
    
      for(k=1;k<n/2;k++)

      {
        if(max[k]>maxm) 
          maxm=max[k];
        if(min[k]<minm)  
          minm=min[k];
      }
    
     if(n%2!=0)//n为奇数时,还要和最后一个数比较
     {
      if(a[n-1]>maxm) 
         maxm=a[n-1];
      if(a[n-1]<minm)  
         minm=a[n-1];
     }
    // OVER
    System.out.println("你要计算的数组的最大值是:"+maxm);
    System.out.println();
    System.out.println("你要查找的数组的最小值是:"+minm);
    }
    else
    System.out.println("数组长度为1,没必要查找!!!");
   }
}

⌨️ 快捷键说明

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