`
devon.k
  • 浏览: 90581 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

简单的冒泡排序及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[j].compareTo(arr[j - 1]) < 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[idxOne];
		arr[idxOne] = arr[idxTwo];
		arr[idxTwo] = 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 (改变了原数组对象的值)
分享到:
评论

相关推荐

    java基础冒泡排序.ppt

    冒泡排序详解,简单而详细的讲清楚了,什么是冒泡排序。 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。 它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首...

    值得看看冒泡排序法java

    根据给定的信息,我们可以深入探讨冒泡排序算法及其在Java中的实现细节。冒泡排序是一种简单的排序算法,它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复...

    java冒泡排序代码

    java冒泡排序代码,亲测能用,控制台输入数据,自动排序

    应用Java和Python实现冒泡排序算法

    冒泡排序:应用Java和Python实现冒泡排序算法 冒泡排序:应用Java和Python实现冒泡排序算法 冒泡排序:应用Java和Python实现冒泡排序算法 冒泡排序:应用Java和Python实现冒泡排序算法 冒泡排序:应用Java和Python...

    java算法——冒泡排序

    * 冒泡排序: * 每次在无序队列里将相邻两个数一次进行比较, * 将小数调到前面,逐次比较,直至将最大的数移到 * 最后。将剩下的N-1个数继续比较,将次大数移至 * 倒数第二位。

    冒泡排序 Java代码

    以下是一个简单的Java代码实现冒泡排序: ```java public class BubbleSort { public static void main(String[] args) { int[] array = {5, 3, 8, 1, 2}; bubbleSort(array); for (int i : array) { System....

    Java冒泡排序算法

    ### Java冒泡排序算法知识点详解 #### 一、冒泡排序基本概念 冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是...

    java 冒泡排序 数组冒泡排序

    冒泡排序是一种基础且经典的排序算法,它通过不断交换相邻两个元素的位置,使得每一次遍历都能将当前未排序部分的最大(或最小)元素“冒”到已排序部分的末尾。在Java编程语言中,我们可以很容易地实现这个算法。...

    用java实现冒泡排序法

    以下是一个简单的Java冒泡排序实现: ```java public class BubbleSort { public static void main(String[] args) { int[] array = new int[]{5, 2, 8, 3, 9, 1}; // 待排序的数组 int n = array.length; ...

    java冒泡排序java冒泡排序集锦方法!

    用户可以通过输入不同的指令("inc"、"dec"、"ncinc" 或 "ncdec")来选择不同的排序方式。 ### 知识点三:使用 `RuleBasedCollator` 进行国际化排序 #### 实现多语言排序 对于需要支持多种语言的程序来说,使用 `...

    java GUI 实现冒泡排序

    在这个Java GUI实现的冒泡排序项目中,我们利用了NetBeans工具来设计用户界面,使用户能够直观地看到排序的过程。 首先,我们要理解冒泡排序的基本原理。冒泡排序的核心在于两两比较相邻元素,如果前一个元素大于...

    java 冒泡排序方法

    在给定的部分代码中,我们可以看到一个简单的冒泡排序的实现方式。下面将详细介绍这段代码的关键部分,并对其加以优化。 #### 三、代码解析 1. **定义数组**: ```java int b[] = {1, 5, 4, 8, 55, 3, 43, 108};...

    冒泡排序原理和JAVA实现

    冒泡排序原理和JAVA实现 冒泡排序是一种比较排序,也称为泡沫排序或沉沦排序。它的工作原理是通过重复地走访过要排序的数列,依次比较相邻的两个元素,如果他们的顺序错误就把他们交换过来,直到没有再需要交换的...

    java实现冒泡排序

    下面是一个简单的Java冒泡排序实现: ```java public class BubbleSort { public static void bubbleSort(int[] array) { int n = array.length; for (int i = 0; i ; i++) { // 外层循环控制遍历次数 for (int...

    java基础 经典算法之冒泡排序详解

    1.冒泡排序的原理:每次都从第一个元素开始(索引0),向后两两比较,只要后面的比前面的大,就交换(从大到小) 2.通过画图分析,5个数字排4趟,n数字排n-1趟,而外层的for循环代表的是循环的趟数,所以外层循环的结束条件是...

    用java写的一个冒泡排序器

    以下是一个简单的Java冒泡排序器的示例: ```java public class BubbleSort { public static void bubbleSort(int[] array) { int n = array.length; for (int i = 0; i ; i++) { for (int j = 0; j ; j++) { ...

    JAVA冒泡排序及其优化

    冒泡排序的优化主要有以下几种方式: 1. **提前终止**:如果在某次遍历时没有发生任何交换,说明序列已经排序完成,可以提前结束排序。 ```java boolean swapped; for (int i = 0; i ; i++) { swapped = ...

    排序算法java版,速度排行:冒泡排序、简单选择排序、直接插入排序、折半插入排序、希尔排序、堆排序、归并排序、快速排序.mht

    排序算法java版,速度排行:冒泡排序、简单选择排序、直接插入排序、折半插入排序、希尔排序、堆排序、归并排序、快速排序.mht

    冒泡排序java实现

    以下是一个简单的Java实现冒泡排序的代码示例: ```java public class MyBubSort { public static void bubbleSort(int[] array) { int n = array.length; for (int i = 0; i ; i++) { // 外层循环控制遍历次数 ...

    冒泡排序及其改进算法C语言实现 冒泡排序及其改进算法C语言实现 冒泡排序及其改进算法C语言实现

    1冒泡排序 2改进的冒泡排序,在一次冒泡的过程中,如果没有发生交换,则已经有序 3进一步改进的冒泡排序,如果在某次冒泡过程中,最后一次进行交换的位置为flag,则表示flag之后的序列已经有序,那么下一次冒泡就...

Global site tag (gtag.js) - Google Analytics