devon.k 发表于 2013-2-3 11:23:03

简单的冒泡排序及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]
查看完整版本: 简单的冒泡排序及java的传参方式