选择排序和冒泡排序最大的特点就是选择排序是先比较最后交换而 冒泡排序就是比较一次换一次位置,所以冒泡排序性能笔记低,建议用选择排序. //选择排序 private static int[] selectionSort(int[] arr) { int index; for (int i = 0; i < arr.length; i++) { index = i; for (int x = i + 1; x < arr.length; x++) { if (arr[x] > arr[index]){ index = x; } } if (index != i){ int temp = arr[i]; arr[i] = arr[index]; arr[index] = temp; } } return arr; }
//冒泡排序 private static int[] BubbleSort(int[] arr) { for (int i = 0; i < arr.length; i++){ for (int x = 0; x < arr.length-i-1; x++) { if (arr[x] < arr[x+1]){ int temp = arr[x]; arr[x] = arr[x+1]; arr[x+1] = temp; } } } return arr; } 素数是指质数,一个大于1的自然数,除了1 和它自身外,不能整除其他自然数的数叫做质数;否则称为合数 求素数要用两层for循环因为素数要和比自己小的所有数进行运算,一旦有余数等于2的就返回flase,然后输出这个数. 可能有人要问为啥不直接加else下面直接输出因为下面直接输出的话下面输出一大堆没用 //求素数 private static ArrayList<Integer> primeNumber(int number) { ArrayList<Integer> integers = new ArrayList<>(); for (int i = 3;i < number;i++){ Boolean flag = true; for (int x = 2;x < i;x++){ if (i % x == 0){ flag = false; } } if (flag){ integers.add(i); } } return integers; }
//求1!+2!+...+8!....的和意思是比如:3的阶乘:1+2+3 1!=1 2!=2 3!=6 4!=24 5!=120 6!=720 7!=5040 8!=40320 private static int Factorial() { int sum = 1; int fac = 1; for (int i = 1; i <= 8; i++) { fac *= i; sum += fac; System.out.println(i+"!="+fac); } return sum; }