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

📄 zhebanchazhao.java

📁 算法分析实验 java实现: 有: 公约数 合并算法 字符排序 快速排序 马踏棋盘问题 马踏棋盘问题(文本做法) 折半查找 最大子段和
💻 JAVA
字号:
import javax.swing.JOptionPane;
public class zhebanchazhao {
public static void main(String[] args)
{
    String lengthString=JOptionPane.showInputDialog(null,"输入有序字符串长度:","Length:",JOptionPane.QUESTION_MESSAGE); 
    int a=Integer.parseInt(lengthString);
    int[] zheban=new int[a];
    for(int b=0;b<a;b++)
    {
    String NumberString=JOptionPane.showInputDialog(null,"输入字符:","Number:",JOptionPane.QUESTION_MESSAGE); 
    int c=Integer.parseInt(NumberString);
    zheban[b]=c;	
    }
    String s1=" ";
    for(int k=0;k<zheban.length;k++){
          s1=s1+" "+zheban[k];
        }
   JOptionPane.showMessageDialog(null,s1,"输入的有序字符串:",JOptionPane.INFORMATION_MESSAGE);
   String elementString=JOptionPane.showInputDialog(null,"输入查找元素:","element:",JOptionPane.QUESTION_MESSAGE);
   int e=Integer.parseInt(elementString);
   BinSearch(zheban,e,a);
}
 
	public static void BinSearch(int[] zheban,int e,int a)
      { //在有序表zheban[1..n]中进行二分查找,成功时返回结点的位置,失败时输出提示语句
        int n=a;
        int low=0,high=n-1,mid; //置当前查找区间上、下界的初值
        while(low<=high){ //当前查找区间zheban[low..high]非空
          mid=(low+high)/2;
          if(zheban[mid]==e)
          //查找成功
          {
           String output="查找元素:"+zheban[mid]+"\n"+"查找位置:"+mid+"\n";
           JOptionPane.showMessageDialog(null,output,"查找成功:",JOptionPane.INFORMATION_MESSAGE);
          }
          if(zheban[mid]>e)
             high=mid-1; //继续在zheban[low..mid-1]中查找
          else
             low=mid+1; //继续在zheban[mid+1..high]中查找	
        }
       //当low>high时表示查找区间为空,查找失败  
       //JOptionPane.showMessageDialog(null,"查找失败(此元素不存在!)");
     
     }
       
}

⌨️ 快捷键说明

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