Java的数组排序
对数组进行排序 使用到的排序算法有:
1 选择排序 2 冒泡排序 3 插入排序 4 JavaAPI提高排序算法
选择排序的原理:
1 将数组中每个元素与第一个元素比较,如果这个元素小于第一个元素,则交换这两个元素
2 循环第1条规则,找出最小元素,放于第1个位置
3 经过n-1轮比较完成排序
冒泡排序原理:
将相邻的元素进行比较,小的放在前面
插入排序原理:
将数组分为两部分, 将后部分的第一个逐一与前部分每一个元素比较,在合理位置插入
插入排序算法效率要高于选择排序和冒泡排序
代码如下:
import java.util.Arrays; /** * 该类是用于对数组进行排序 * 使用到的排序算法有:1 选择排序 2 冒泡排序 * 3 插入排序 4 JavaAPI提高排序算法 * @author scywxx * */ public class ArraySort { public static void main(String[] args) { int[] array = {8,3,2,7,1}; //array = selectionSort(array);//调用选择排序 //array = bubbleSort(array);//调用冒泡排序 // array = insertSort(array);//调用插入排序 Arrays.sort(array);//调用javaAPI排序 System.out.println(Arrays.toString(array));//输出选择排序的结 果 //使用JavaAPI提高排序算法 } /** * 冒泡排序原理: * 将相邻的元素进行比较,小的放在前面 * @param array * @return */ public static int[] bubbleSort(int[] array) { for(int i = 0; i < array.length - 1; i++)//总共进行 array.length-1轮 { for(int j = 0;j< array.length-i-1; j++) { if(array[j] > array [j+1])//比较相邻的元素之 间的大小 { int temp = array[j]; array[j] = array[j+1]; array[j+1] = temp; } } } return array; } /** * 选择排序原理: * 1 将数组中每个元素与第一个元素比较,如果这个元素小于第一个元素,则交 换这两个元素 * 2 循环第1条规则,找出最小元素,放于第1个位置 * 3 经过n-1轮比较完成排序 * @param array * @return */ public static int[] selectionSort(int[] array) { for(int i = 0; i < array.length-1;i++)//总共进行array.length -1轮 { for(int j = i+1;j<array.length;j++) { if(array[j]<array[i])//数组中元素小于第一个元 素 { int temp = array[i]; array[i] = array[j]; array[j] = temp; } } } return array; } /** * 插入排序原理: * 将数组分为两部分, 将后部分的第一个逐一与前部分每一个元素比较,在合 理位置插入 * 插入排序算法效率要高于选择排序和冒泡排序 * @param array * @return */ public static int[] insertSort(int[] array){ int t ,j; for(int i = 1;i < array.length ;i++)//第一个数已经排好序 后 面的部分取第一个 { t=array[i]; for( j = i-1;j > 0; j--)//将后部分的第一个逐一与前部 分比较 { if(t < array[j]) { array[j+1] = array[j];//该数后移 } else { break;//退出 } } array[j+1] = t; } r

浙公网安备 33010602011771号