- package cn.lyne;
- import java.util.Arrays;
- public class Test {
- public static void main(String[] args) {
- int[] arr = {19,12,22,38,77,64,8};//6
- //选择排序
- selectSort(arr);
- System.out.println(Arrays.toString(arr));
- //冒泡排序
- // bubbleSort(arr);
- // System.out.println(Arrays.toString(arr));
- }
- /*
- * 冒泡排序方法
- */
- public static void bubbleSort(int[] arr){
- //用相邻两个元素逐个比较,外循环次数比元素个数少一,内循环循环次数递减,同时减一
- for (int i = 0; i< arr.length-1; i++) {
- for (int j = 0; j < arr.length-i-1; j++) {
- if(arr[j]>arr[j+1]){
- //用位运算做数据交换
- arr[j] = arr[j] ^ arr[j+1];
- arr[j+1] = arr[j] ^ arr[j+1];
- arr[j] = arr[j] ^ arr[j+1];
- }
- }
- }
-
- }
- /*
- * 选择排序方法
- */
-
- public static void selectSort(int[] arr){
- //外循环次数比元素个数少一(因为最后一个元素不用自己跟自己比较),内循环
- //次数控制到末尾,初始位置逐渐后移。
- for (int i = 0; i < arr.length-1; i++) {
- for (int j = i+1; j < arr.length; j++) {
- if(arr[i]>arr[j]){
- //用位运算做数据交换
- arr[i] = arr[i] ^ arr[j];
- arr[j] = arr[i] ^ arr[j];
- arr[i] = arr[i] ^ arr[j];
- }
- }
- }
- }
- }
复制代码 |
|