> 文档中心 > 选择排序和冒泡排序,求阶乘,求素数

选择排序和冒泡排序,求阶乘,求素数

选择排序和冒泡排序最大的特点就是选择排序是先比较最后交换而冒泡排序就是比较一次换一次位置,所以冒泡排序性能笔记低,建议用选择排序.//选择排序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[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 primeNumber(int number) {    ArrayList 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+31!=12!=23!=64!=245!=1206!=7207!=50408!=40320private 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;}