Java教程

冒泡算法

本文主要是介绍冒泡算法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

相邻的两个数字比较。

外循环控制的是几轮,内循环控制的是几次。

 

 

 

package com.bdqn.demo4;

/***

 * 冒泡算法

 * @author lenovo

 *

 */

public class Demo1 {

    public static void main(String[] args) {

int [] num = {119,110,11086,114,120,2,3};

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

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

//一个空值的变量

int temp = 0;

//比较相邻的两个数

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

temp = num[j];

num[j] = num[j+1];

num[j+1] = temp;

}

}

}

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

System.out.println(num[i]);

}

}

}

 

 

比较交换比较的是下标。

第一个数和之后的每一个数比较

package com.bdqn.demo4;

/***

 * 比较交换

 * @author lenovo

 *

 */

public class Demo2 {

   public static void main(String[] args) {

   int [] arr3={23,12,48,56,45};

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

   int tem = i;

   //将数组中从i开始的最小的元素所在位置的索引取值给tem

   for (int j = i; j < arr3.length; j++) {

   if (arr3[j]<arr3[tem]) {

    tem = j;

    }

   }

   //上面获取了数组中从i开始的最小值的位置索引位tem,利用该索引将第i位上的元素交换

   int temp = arr3[i];

   arr3[i] = arr3[tem];

   arr3[tem] = temp;

   System.out.println(arr3[i]);

   }

   }

}

使用Arrays类的sort()方法对数组进行升序排列。

 

package com.bdqn.demo4;

 

import java.util.Arrays;

 

/***

 

 * Arrays

 

 * @author lenovo

 

 *

 

 */

 

public class Demo3 {

 

    public static void main(String[] args) {

 

     int [] arr3={23,12,48,56,45};

 

     Arrays.sort(arr3);

 

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

 

System.out.println(arr3[i]);

 

}

 

}

 

}

 

 

package com.bdqn.demo4;

import java.util.Arrays;

/***

 * Arrays

 * @author lenovo

 *

 */

public class Demo3 {

    public static void main(String[] args) {

     int [] arr3={23,12,48,56,45};

     Arrays.sort(arr3);

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

System.out.println(arr3[i]);

}

     //把数组类型转换为字符串类型

     String string = Arrays.toString(arr3);

     System.out.println(string);

}

}

 

package com.bdqn.demo4;

/***

 * 二维数组

 * @author lenovo

 *

 */

public class Demo4 {

     public static void main(String[] args) {

int [][] i = new int[2][3];

//第一行第一列

i[0][0] = 1;

//第二行第三列

i[2][3] = 3;

System.out.println(i[0].length);

System.out.println(i[1].length);

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

for (int j2 = 0; j2 < i[j].length; j2++) {

System.out.println(i[j][j2]);

}

}

}

}

package com.bdqn.demo4;

import java.util.Scanner;

/***

 * 班级成绩

 * @author lenovo

 *

 */

public class Demo5 {

     public static void main(String[] args) {

double [][] num = new double [2][3];

Scanner scanner = new Scanner(System.in);

//外层循环是班级

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

System.out.println("=====第"+(i+1)+"个班级=====");

double total = 0;

//内层循环是学生

for (int j = 0; j < num[i].length; j++) {

System.out.println("输入第"+(j+1)+"个学生的成绩");

//第几个班级的第几个学生

num[i][j] = scanner.nextDouble();

total+=num[i][j];

}

System.out.println("第"+(i+1)+"个班级的总成绩为:"+total+"平均分为:"+total/3);

}

}

}

 

package com.bdqn.demo4;

import java.util.Scanner;

/***

 * 班级成绩

 * @author lenovo

 *

 */

public class Demo5 {

     public static void main(String[] args) {

double [][] num = new double [2][3];

String strtotal="";

Scanner scanner = new Scanner(System.in);

//外层循环是班级

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

System.out.println("=====第"+(i+1)+"个班级=====");

double total = 0;

//内层循环是学生

for (int j = 0; j < num[i].length; j++) {

System.out.println("输入第"+(j+1)+"个学生的成绩");

//第几个班级的第几个学生

num[i][j] = scanner.nextDouble();

total+=num[i][j];

}

strtotal+="第"+(i+1)+"个班级的总成绩为:"+total+"平均分为:"+total/3+"\n";

}

System.out.println(strtotal);

}

}

 

 

package com.bdqn.demo4;

/***

 * 杨辉三角形

 * @author lenovo

 *

 */

public class Demo6 {

     public static void main(String[] args) {

int [][] num = new int [5][5];

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

num[i][0] = 1;

num[i][i] = 1;

if (i >= 2) {

//j<i  三角形算法

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

num[i][j] = num[i-1][j-1]+num[i-1][j];

   }

}

}

//输出这个数

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

for (int j = 0; j <= i; j++) {

System.out.print(num[i][j]+" ");

}

System.out.println();

}

}

}

 

这篇关于冒泡算法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!