做著名建筑物网站简介,泰国云服务器,深圳系统网站开发,上海外包软件开发顺序排序算法原理
从头开始遍历未排序数列#xff0c;遍历时比较相邻的两个元素#xff0c;前面的大于后面的#xff0c;则双方交换位置#xff0c;一直比较到末尾#xff0c;这样最大的元素会出现在末尾#xff0c;接着再依次从头开始遍历剩余未排序的元素#xff0c;…顺序排序算法原理
从头开始遍历未排序数列遍历时比较相邻的两个元素前面的大于后面的则双方交换位置一直比较到末尾这样最大的元素会出现在末尾接着再依次从头开始遍历剩余未排序的元素直至所有的元素都排序完成。其实就是每次遍历时找出最大的元素通过不断的移动位置将其存入到未排序末尾
算法图解 算法实现
/*** 顺序排序* param arr*/public void sort(int arr[]){for(int j arr.length-1;j1;j--){for(int i0;ij;i){if(arr[i]arr[i1]){int temp arr[i];arr[i] arr[i1];arr[i1] temp;}}}}倒序排序算法原理
顺序是从头开始遍历倒序是从末尾开始遍历将最大元素依次存入序列开头位置
算法图解 算法实现
/*** 倒序排序* param arr*/public void revert(int arr[]){for(int j0;jarr.length-1;j){for(int iarr.length-1;ij;i--){if(arr[i]arr[i-1]){int temp arr[i];arr[i] arr[i-1];arr[i-1] temp;}}}}测试
public static void main(String[] args) {int arr[] {9, 7, 1991, 27, -1, -10, 0, 2, 65, -100};BubbleSort bubbleSort new BubbleSort();bubbleSort.sort(arr);for (int i 0; i arr.length; i) {System.out.print(arr[i] \t);}System.out.println();int arr2[] {9, 7, 1991, 27, -1, -10, 0, 2, 65, -100};bubbleSort.revert(arr2);for (int i 0; i arr2.length; i) {System.out.print(arr2[i] \t);}}结果