Java算法求最大最小值,冒泡排序,斐波纳契数列一些经典算法<不断更新中>

清明在家,无聊,把一些经典的算法总结了一下.

一、求最大,最小值

Scanner input=new Scanner(System.in);

		int[] a={21,31,4,2,766,345,2,34};

		//这里防止数组中有负数,所以初始化的时候给的数组中的第一个数。

		int max=a[0];

		int min=a[0];

		for (int i = 0; i < a.length; i++) {

			if(a[i]>max)

				max=a[i];

			if(a[i]<min)

				min=a[i];

		}

		

		System.out.println("最大的数是:"+max);

		System.out.println("最小的值是:"+min);

二、1--100之间的质数(什么叫质数,就是只能被1和本身能除尽的数)

//因为1不是质数,所以排除在外

		for (int i = 2; i < 100; i++) {

			boolean a=true;

			for (int j = 2; j < i/2+1; j++) {

				if(i%j==0){

					a=false;

					break;

				}

			}

			if(a)

				System.out.print(i+"  ");

		}

三、斐波纳契数列(如:1,1,2,3,5,8,11。。。)

int a=1;

		int b=0;

		for (int i = 1; i <= 10; i++) {

			a=a+b;

			System.out.print(a+" ");

			b=a+b;

			System.out.print(b+" ");

		}

四、输入一个正整数,倒着打印出来(如:123456789,打印出来是:987654321)

Scanner input=new Scanner(System.in);

int a=input.nextInt();

		for (int i = 1; i < 999; i++) {

			if(a!=0){

			System.out.print(a%10+" ");

			a=a/10;

			}else{

				break;

			}

		}

五、冒泡排序

int score[] = { 167, 69, 75, 87, 89, 90, 99, 100 };

		// 最多做n-1趟排序

		for (int i = 0; i < score.length - 1; i++) { 

			// 对当前无序区间score[0......length-i-1]进行排序(j的范围很关键,这个范围是在逐步缩小的)

			for (int j = 0; j < score.length - i - 1; j++) { 

				// 把小的值交换到后面

				if (score[j] > score[j + 1]) { 

					int temp = score[j];

					score[j] = score[j + 1];

					score[j + 1] = temp;

				}

			}

		}

		System.out.print("最终排序结果:");

		for (int a = 0; a < score.length; a++) {

			System.out.print(score[a] + "\t");

		}



先写这么多,累啊,休息休息。

你可能感兴趣的:(java算法)