一、使用冒泡排序的目的是什么呢?使用它需要达到什么效果呢?
还是为了使数组中的元素有顺序呗,但这种排序方式呢,主要是想提高一下数组排序的效率。元素值之间进行比大小,这个涉及到比较的次数,如果说冒泡排序要提高数组排序的效率,那么它就会考虑如何减少元素值之间比较的次数。
二、相对于选择排序来说,冒泡排序是如何来减少数组元素比较的次数的呢?
整点儿通俗的话来说就是:
我拧着一个数,与我旁边的一个数相比较,我看它比我小,我照顾一下它,和它交换一下位置,然后我再看我旁边的数,当然在这里的旁边不是指与我比过的那个数,而是与我旁边没有比的数比,如果比我小,我继续照顾,否则进入下一轮比较,也就是继续拧着一个数,与数组里面的数比,这时候有个好处是什么呢?我可以少比一次,为什么这么说呢,因为在我之前的数,肯定比我小,它就没必要和我比了。这里面还隐含一个好处时什么呢?较小数都往数组前面跑,较大数就往数组后面跑,这样在不断的比较当中,小的数没比要与大的数进行交换位置,这无形之中就把效率提高了。而且在比较的过程中,比较的次数也可以减少。
三、代码展示
public class MaoPaoPaiXu {
public static void main(String[] args) {
int[] a = new int[]{100,44,22,30,24,21};
//冒泡排序的轮数为n-1次
//冒泡排序时相临的两个数应该比较 n-1 - 当前的轮数,因为冒上去的数不需要再次作比较
//冒泡
for(int i = 0 ; i < a.length - 1; i++){
for (int j = 0 ; j < a.length-1-i ; j++){
if(a[j] > a[j+1]){
int temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
//输出数组
for(int s : a){
System.out.println(s);
}
}
}
思想是自己的,只有自己去认真体味过,才会真正的理解。
分享到:
相关推荐
下面是一个简单的Java代码示例,用于对一个整型数组进行升序排序: ```java public class BubbleSort { public static void bubbleSort(int[] arr) { int n = arr.length; for (int i = 0; i ; i++) { for (int...
对整型数组进行冒泡法排序,java实现,冒泡对整型数组进行冒泡法排序,java实现,冒泡
本主题将详细介绍三种基本的排序算法:快速排序、选择排序和冒泡排序,以及它们在Java中的实现。 1. **快速排序**: 快速排序是一种高效的分治算法,由C.A.R. Hoare在1960年提出。其主要思想是通过一趟排序将待排...
可输入的冒泡排序法~ 综合更改的版本~ java ban
Java整型数组常见操作方法 本文主要介绍Java中整型数组的常见操作方法,包括查找、排序和最值操作。 一、查找 在Java中,查找数组元素可以使用折半查找和顺序查找两种方法。 1. 折半查找:折半查找是一种高效的...
产生2000个随机数,从小到大冒泡排序,折半查找,确定下标对应内容。
### Java数组冒泡法排序详解 #### 一、冒泡排序基本概念 冒泡排序(Bubble Sort)是一种简单的排序算法,其基本思想是通过不断地交换相邻两个元素的位置,使得每一轮遍历后最大的元素能够“浮”到数组的末尾。这种...
1. 创建一个整型数组,用于存储待排序的元素。 2. 设置两个循环,外层循环控制遍历的轮数,内层循环控制每一轮中元素的比较与交换。 3. 在内层循环中,比较相邻两个元素的大小,如果前一个元素大于后一个元素,则...
### 使用Java实现经典数组的冒泡排序 #### 冒泡排序简介 冒泡排序是一种简单的排序算法,它重复地遍历待排序的数列,依次比较相邻的两个元素,如果它们的顺序错误就把它们交换过来。遍历数列的工作是重复进行的,...
### Java冒泡排序算法知识点详解 #### 一、冒泡排序基本概念 冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是...
总结来说,Java中对数组元素进行升序排序有两种常见方法:冒泡排序和`Arrays.sort()`。冒泡排序适合教学和理解排序原理,但实际应用中效率较低;而`Arrays.sort()`方法则提供了更快的排序速度,是处理数组排序的首选...
例如,定义一个整型数组: ```java int[] numbers = new int[5]; ``` 这里创建了一个名为`numbers`的数组,可以存储5个整数。数组元素可以通过索引来访问,索引从0开始,如`numbers[0]`表示第一个元素。 二、访问...
在Java中,我们可以创建一个名为`bubbleSort`的方法,接受一个整型数组作为参数,然后执行冒泡排序的过程。以下是一个简单的实现: ```java public static void bubbleSort(int[] arr) { int n = arr.length; for...
根据给定的信息,我们可以深入探讨冒泡排序算法及其在Java中的实现细节。冒泡排序是一种简单的排序算法,它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复...
本实验中我们学习了 Java 语言中的数组和集合操作,掌握了 Java 中的数组声明、初始化、索引访问、遍历等操作,并使用冒泡排序算法将数组元素排序。同时,我们还学习了 Java 中的输入输出操作和异常处理。
对数组进行排序是常见的需求之一,Java提供了多种排序算法,如冒泡排序、选择排序等。另外,还可以使用`Arrays.sort()`方法来进行排序: ```java int[] arr = {5, 3, 1, 4, 2}; Arrays.sort(arr); ``` #### 七、...
为了实现冒泡排序,我们需要定义一个名为`swap`的方法,它接受一个整型数组作为参数。这个方法会遍历数组,比较相邻的元素并根据需要交换它们的值: ```java public static void swap(int[] arr) { for (int i = 0...
这里定义了一个整型数组`b`,包含了8个元素,用于演示冒泡排序的过程。 2. **创建辅助数组**: ```java int c[] = new int[b.length]; ``` 创建了一个与原数组长度相同的辅助数组`c`,用于在排序过程中临时...
1. **初始化**:首先定义一个数组,例如长度为10的整型数组。在实际编程中,可以使用`int[] arr = new int[10];`创建数组,并通过`Random`类生成0到99之间的随机整数填充数组,确保数组处于无序状态。 2. **外层...
在这个文档中,主要涉及了Java数组的声明、创建、初始化、赋值、输出、累加和计算、最大值查找以及冒泡排序等核心概念。 1. **数组的声明与创建**: - `int[] arr;` 这是声明一个整型数组的例子。 - `int[] arr =...