0510Java 练习
一、冒泡排序
package com.text_1; import java.util.Scanner; public class mppx { public static void main(String[] args) { // TODO 自动生成的方法存根 Scanner sca=new Scanner(System.in); System.out.print("请输入数字的个数:"); int s=sca.nextInt(); int arr[]=new int[s]; for (int i=0;i<arr.length;i++) { System.out.println("请输入第"+(i+1)+"个数字"); arr[i]=sca.nextInt(); } for (int i=0;i<arr.length-1;i++) { for (int j=i+1;j<arr.length;j++) { if(arr[i]<arr[j]) { int a=arr[j]; arr[j]=arr[i]; arr[i]=a; } } } for (int t:arr) { System.out.print(" "+t); } }
二、二分查找
package com.text_2; import java.util.Scanner; public class mppx { public static void main(String[] args) { // TODO 自动生成的方法存根 Scanner sca=new Scanner(System.in); System.out.print("请输入数字的个数:"); int s=sca.nextInt(); int arr[]=new int[s]; for (int i=0;i<arr.length;i++) { System.out.print("请输入第"+(i+1)+"个数字:"); arr[i]=sca.nextInt(); } for (int i=0;i<arr.length-1;i++)//对输入的数字进行排序 { for (int j=i+1;j<arr.length;j++) { if(arr[i]<arr[j]) { int a=arr[j]; arr[j]=arr[i]; arr[i]=a; } } } /*for (int t:arr) { System.out.print(t+" "); }*/ System.out.println(); //上面是把输入进的数字进行排序
System.out.print("请输入查找的数字:");
int f=sca.nextInt(); int mid; int max=arr.length-1; int min=0; while (max>=min) { mid=(max+min)/2;//求中间下标 if(arr[mid]==f) { System.out.print("恭喜找到数字"+f+"是第"+(mid+1)+"个数"); break; } else { if (arr[mid]>f) { min=mid+1; } else { max=mid-1; } } } } }