第三次作业——顺序查找,二分查找
来源:互联网 发布:网络流行年轻群体文化 编辑:程序博客网 时间:2024/05/22 03:00
import java.io.BufferedReader;
import java.io.FileReader;
import java.util.ArrayList;
import java.util.Scanner;
public class Search {
public static void main(String[] args) {
// TODO Auto-generated method stub
int searchNum;//要查询的数字
int signOne,signTwo;//用来判断
int readNum;//存放文本转化的数字
System.out.print("请输入要查找的数据:");
Scanner scan = new Scanner(System.in);
searchNum = scan.nextInt();
try{
FileReader f = new FileReader("C:/Users/Y470/Desktop/largeW_bubble.txt");
BufferedReader br = new BufferedReader(f);
ArrayList arraylist = new ArrayList();
String line = br.readLine();
while (line != null) {
readNum = Integer.parseInt(line.trim());
arraylist.add(readNum);
line = br.readLine();
}
int array[] = new int[arraylist.size()];//存放从文本读出来的数据
for(int i=0;i<array.length;i++){
array[i] = (Integer) arraylist.get(i);
}
//顺序查找
signOne = SSearch(array,array.length-1,searchNum);
if(signOne == 0){
System.out.print("顺序查找:");
System.out.println("数据"+array[signOne]+"查不到");
}
//二分查找
signTwo = BSearch(array,1,array.length-1,searchNum);
if(signTwo == 0){
System.out.print("二分查找:");
System.out.println("数据"+array[signTwo]+"查不到");
}
br.close();
}catch(Exception e){
e.printStackTrace();
}
}
//顺序查找
public static int SSearch(int arr[],int high, int target ){
int i = high;
arr[0] = target;
while(arr[i] != target){
i--;
}
return i;
}
//二分查找
public static int BSearch(int arr[],int low,int high,int target){
int mid;
if(low>high)
return 0;
else{
mid = (low+high)/2;
if(target<arr[mid]){
return BSearch(arr,low,mid-1,target);
}
else if(target>arr[mid]){
return BSearch(arr,mid+1,high,target);
}
else
return mid;
}
}
import java.io.FileReader;
import java.util.ArrayList;
import java.util.Scanner;
public class Search {
public static void main(String[] args) {
// TODO Auto-generated method stub
int searchNum;//要查询的数字
int signOne,signTwo;//用来判断
int readNum;//存放文本转化的数字
System.out.print("请输入要查找的数据:");
Scanner scan = new Scanner(System.in);
searchNum = scan.nextInt();
try{
FileReader f = new FileReader("C:/Users/Y470/Desktop/largeW_bubble.txt");
BufferedReader br = new BufferedReader(f);
ArrayList arraylist = new ArrayList();
String line = br.readLine();
while (line != null) {
readNum = Integer.parseInt(line.trim());
arraylist.add(readNum);
line = br.readLine();
}
int array[] = new int[arraylist.size()];//存放从文本读出来的数据
for(int i=0;i<array.length;i++){
array[i] = (Integer) arraylist.get(i);
}
//顺序查找
signOne = SSearch(array,array.length-1,searchNum);
if(signOne == 0){
System.out.print("顺序查找:");
System.out.println("数据"+array[signOne]+"查不到");
}
//二分查找
signTwo = BSearch(array,1,array.length-1,searchNum);
if(signTwo == 0){
System.out.print("二分查找:");
System.out.println("数据"+array[signTwo]+"查不到");
}
br.close();
}catch(Exception e){
e.printStackTrace();
}
}
//顺序查找
public static int SSearch(int arr[],int high, int target ){
int i = high;
arr[0] = target;
while(arr[i] != target){
i--;
}
return i;
}
//二分查找
public static int BSearch(int arr[],int low,int high,int target){
int mid;
if(low>high)
return 0;
else{
mid = (low+high)/2;
if(target<arr[mid]){
return BSearch(arr,low,mid-1,target);
}
else if(target>arr[mid]){
return BSearch(arr,mid+1,high,target);
}
else
return mid;
}
}
}
0 0
- 第三次作业——顺序查找,二分查找
- 第三周作业——顺序查找和二分查找
- 第三周作业——顺序查找和二分查找
- 第三周作业——顺序查找和二分查找
- 第三周作业——顺序查找和二分查找
- 第三周作业——顺序查找和二分查找
- 第三周作业——顺序查找和二分查找
- 第三周作业——顺序查找和二分查找
- 第三周作业——顺序查找和二分查找
- 第三周作业——顺序查找和二分查找
- 计科《算法设计与分析》第三周作业——顺序查找和二分查找
- 顺序查找,二分查找
- 顺序查找、二分查找
- 顺序查找,二分查找
- 二分查找,顺序查找
- 顺序查找 & 二分查找
- 第三周作业 --------顺序查找和二分查找
- 第三周作业 --------顺序查找和二分查找
- java内存管理之一
- 第四周作业---图的表示
- ppst技术视频——eclipse 安装tomcat插件的方法
- hdu 1164
- ( ubuntu )linux快捷键
- 第三次作业——顺序查找,二分查找
- Find them, Catch them 并查集
- 窗口对象的方法 prompt() 用来输入数据
- java内存管理之二
- 2014开源技术大会(读书汇)
- android的事件处理1(监听 回调 handle)
- 插入排序算法
- javascript弹出框打印某个数值时,弹出NaN?(not a number)
- 论坛营销四要素