选择排序和冒泡排序最大的特点就是选择排序是先比较最后交换而
冒泡排序就是比较一次换一次位置,所以冒泡排序性能笔记低,建议用选择排序.
//选择排序
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;
}