📄 maxmin_1.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 + -