简单的冒泡排序及java的传参方式
Java中:原始数据类型的参数是 传值 的
而
符合数据类型的参数是 传引用 的
class BubbleSort<T extends Comparable<T>> {private T holder;public void sort(T[] arr){boolean soldier = true;for (int i = arr.length - 1; i >= 0; i --){soldier = true;for (int j = i; j > 0; j --){if (arr.compareTo(arr) < 0){swap(arr, j, j - 1);soldier = false;}}if (soldier){break;}}}//arr以引用的形式传入, idxOne和idxTwo以值的形式传入public void swap(T[] arr, int idxOne, int idxTwo){holder = arr;arr = arr;arr = holder;}public static void main(String[] args) {BubbleSort<Integer> bs = new BubbleSort<Integer>();Integer[] arr = {1, 7, 3, 8, 5};bs.sort(arr);for (int item : arr)System.out.print(item + " ");}}//Print Result: 1 3 5 7 8 (改变了原数组对象的值)
页:
[1]