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; } } } } }

 

原文地址:https://www.cnblogs.com/jakeasd/p/5477728.html