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