package test;
/**
* Created by IntelliJ IDEA.
* User: guozi
* Date: 2007-4-17
* Time: 14:05:06
* To change this template use File | Settings | File Templates.
*/
/*
冒泡排序基本思想
冒泡排序的思想很简单。假设有n个数字的数列,要实现从小到大排序。
首先将第一个数字和第二个数字进行比较,如果第一个数比第二个数大,
则将两个数交换,然后比较第二个数和第三个数,依次类推,
直至第n-1个数和第n个数进行比较为止。上述过程称作第一趟冒泡排序,
这样第一趟结束时第n个数就是所有数列中最大的数,
就好像水中冒出的气泡一样,最大的数也会向前“漂浮”。
然后进行第二趟排序,对前n-1个数进行同样的操作,
其结果使得第二大的数安置到了第n-1个数的位置上。冒泡排序示例如下:
初始的时候: 49 38 65 97 76 13 27 49
第一趟排序后:38 49 65 76 13 27 49 97
第二趟排序后:38 49 65 13 27 49 76 97
第三趟排序后:38 49 13 27 49 65 76 97
第四趟排序后:38 13 27 49 49 65 76 97
第五趟排序后:13 27 38 49 49 65 76 97
第六趟排序后:13 27 38 49 49 65 76 97
第七趟排序后:13 27 38 49 49 65 76 97
*/
public class Sort {
public Sort() {
}
public static void main(String[] args) {
int a[] = new int[8];
a[0] = 49;
a[1] = 38;
a[2] = 65;
a[3] = 97;
a[4] = 76;
a[5] = 13;
a[6] = 27;
a[7] = 49;
int tmp; //定义临时变量,作为寄存器
for (int i = 0; i <= 7; i++) {
for (int j = 0; j < 7 - i; j++) { //以下进行每趟排序
if (a[j] > a[j + 1]) { //比较大小,交换
tmp = a[j + 1];
a[j + 1] = a[j];
a[j] = tmp;
}
}
}
//将比较完成的结果打印出来
for (int i = 0; i <= 7; i++) {
System.out.print(a[i] + ";");
}
}
}
分享到:
相关推荐
- **分析**:这段代码实现了基本的冒泡排序算法。外层循环控制排序的轮次,内层循环则负责比较并交换相邻元素的位置。每次内层循环结束后,当前未排序部分的最大值都会被移动到最后。 ##### 第二种实现方式 ```cpp ...
冒泡排序的时间复杂度为O(n^2),不适合处理大规模数据,但在教学环境中,它可以帮助初学者理解排序的基本原理和逻辑。随着学习的深入,我们会接触到更多高效排序算法,如快速排序、归并排序和堆排序等。然而,冒泡...
在提供的"冒泡排序示例"文件中,很可能是包含了用不同编程语言实现冒泡排序的代码示例。通过学习这些示例,初学者可以更直观地理解冒泡排序的逻辑,并掌握如何在实际编程中应用这个算法。不同的编程语言(如Python、...
冒泡排序的核心思想是通过不断地比较相邻的两个元素,并根据比较结果进行交换来达到排序的目的。在一轮完整的比较过程中,最大的(或最小的)元素会被排到最后的位置上。接下来继续对前面的元素进行同样的操作,直到...
首先,我们要理解冒泡排序的基本思想。冒泡排序的基本操作是对比相邻的两个元素,如果它们的顺序错误(即前者大于后者),就交换它们的位置。这一过程会重复进行,直到没有任何一对数字需要交换,即序列已经排序完成...
冒泡排序是一种简单直观的排序算法,其基本思想是通过不断地比较相邻两个元素的大小,并根据需要进行交换,来达到排序的目的。该算法的名字来源于较小的元素会像水中的气泡一样逐渐上浮到数组的顶端。 #### 二、...
冒泡排序的基本思想是通过不断地交换相邻的未排序元素,使较大的元素逐渐向数组末尾移动,类似于气泡在水中上升的过程。 #### 二、代码解读 ##### 1. 包含头文件与命名空间使用 ```cpp #include using namespace ...
本篇文章将详细讲解快速排序、冒泡排序和插入排序这三种常用的排序算法,并通过Java代码示例进行演示。 **快速排序** 快速排序是一种高效的排序算法,由英国计算机科学家C.A.R. Hoare于1960年提出。其基本思想是...
本文通过一段C语言程序详细解释了如何对二维数组进行冒泡排序,包括其基本思想、实现步骤以及需要注意的关键点。 #### 二、冒泡排序简介 冒泡排序的基本思想是通过不断地交换相邻元素的位置来达到排序的目的。在每...
冒泡排序的基本思想是,对于未排序的序列,每次比较相邻的两个元素,如果它们的顺序错误就交换位置。这个过程会重复进行,直到序列中的所有元素都按照升序或降序排列。由于每次遍历都会把当前未排序部分的最大(或...
下面以Python为例,给出一个简单的冒泡排序代码示例: ```python def bubble_sort(arr): n = len(arr) for i in range(n): for j in range(0, n-i-1): if arr[j] > arr[j+1]: arr[j], arr[j+1] = arr[j+1], ...
以下是使用Python语言实现的冒泡排序示例代码: ```python def bubble_sort(arr): n = len(arr) # 遍历所有数组元素 for i in range(n): # 最后i个元素已经就位 for j in range(0, n-i-1): # 如果当前元素...
**冒泡排序(Bubble Sort)** 是一种简单直观的排序算法,其核心思想是通过重复遍历数组,比较相邻元素并交换位置,使得每一轮遍历后,最大的元素“浮”到数组末尾。在Java中,冒泡排序的实现主要由两个嵌套的for...
冒泡排序的基本思想是,重复地走访过要排序的元素列表,依次比较相邻的两个元素,如果它们的顺序(如从小到大)错误就把它们交换过来。走访列表的工作是重复进行的,直到没有再需要交换的元素,表示该列表已经排序...
### 冒泡排序的定义及Java代码实现 #### 冒泡排序的概念 冒泡排序(Bubble Sort)是一种简单直观的排序算法。它的工作原理是通过不断地比较相邻的两个元素,并根据大小关系进行交换,从而使较大的元素逐渐往后移动...
冒泡排序的基本思想是:比较相邻的元素。如果第一个比第二个大,就交换它们两个。对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。针对所有的元素重复以上的...
冒泡排序是一种基础且高效的排序算法,其基本思想是通过不断地交换相邻的逆序元素,逐步将较大的元素“冒泡”到序列的末尾。在TIA博途中,我们可以使用结构化控制语言(SCL)来实现这个算法。TIA博途是一款由西门子...
在提供的压缩包文件"李科林+实验3冒泡排序程序"中,可能包含了完整的VB代码示例,通过阅读和分析这些代码,你可以更深入地理解冒泡排序的实现过程。同时,亲自运行和调试代码,是学习编程和算法的绝佳实践方式。
这里我们关注的是两种基础的排序算法:选择排序(Selection Sort)和冒泡排序(Bubble Sort),它们都是简单直观的算法,尤其适用于学习排序的基本原理。 **选择排序**: 选择排序是一种不稳定的排序算法,它的基本...
冒泡排序的基本思想是通过不断比较相邻元素并交换位置,使较大的元素逐渐“浮”到数组的后部,就像水底下的气泡逐渐上升到水面一样。这个过程会重复进行,直到整个序列达到有序状态。 ### 步骤 1. **遍历**:从...