冒泡排序基本思想
将n个记录看作按纵向排列,每趟排序时自下至上对每对相邻记录进行比较,若次序不符合要求(逆序)就交换。每
趟排序结束时都能使排序范围内关键字最小的记录象一个气泡一样升到表上端的对应位置,整个排序过程共进行n-1趟,依次将关键字最小、次小、第三小…的各
个记录“冒到”表的第一个、第二个、第三个…位置上。
初态 第1趟 第2趟 第3趟 第4趟 第5趟 第6趟 第7趟
38 12 12 12 12 12 12 12
20 38 20 20 20 20 20 20
46 20 38 25 25 25 25 25
38 46 25 38 38 38 38 38
74 38 46 38 38 38 38 38
91 74 38 46 46 46 46 46
12 91 74 74 74 74 74 74
25 25 91 91 91 91 91 91
JAVA核心代码:
// 冒泡排序
public static void bubble(int[] arr){
//定义一个变量,用于存放临时数据
int temp = 0 ;
//外层循环用于判断比较的趟数
for(int i=0;i<arr.length-1;i++){
//首先假设第一个数为最大的数并保存他的下标
//内层循环用于比较,并找出其中的最大值,放到最末尾
for(int j=0;j<arr.length-1-i;j++){
if(arr[j]>arr[j+1]){
temp = arr[j] ;
arr[j] = arr[j+1] ;
arr[j+1] = temp ;
}
}
}
//输出排序后的结果
for(int i=0;i<arr.length;i++){
System.out.print(arr[i] + " ") ;
}
}
分享到:
相关推荐
冒泡排序基本思想和算法 冒泡排序是交换排序的一种基本思想,通过比较和交换记录的关键字,达到排序的目的。下面对冒泡排序的基本思想、算法和性能进行详细的分析。 冒泡排序基本思想 冒泡排序的基本思想是:两两...
下面将详细介绍冒泡排序的基本概念、工作原理、实现方式以及它的优缺点。 **一、基本概念** 冒泡排序是一种简单的比较排序,通过不断交换相邻的逆序元素来逐步排序数组。其核心思想是每次遍历数组,将最大(或最小...
首先,我们要理解冒泡排序的基本思想。冒泡排序的基本操作是对比相邻的两个元素,如果它们的顺序错误(即前者大于后者),就交换它们的位置。这一过程会重复进行,直到没有任何一对数字需要交换,即序列已经排序完成...
在本文中,我们将深入探讨四种经典的排序算法:插入排序、选择排序、基数排序和冒泡排序,以及它们在C++语言中的实现。 **插入排序(Insertion Sort)** 插入排序是一种简单直观的排序算法,它的工作原理类似于我们...
总的来说,冒泡排序和选择排序都是基础且实用的排序算法,尽管它们的时间复杂度为O(n^2),在处理大量数据时效率较低,但对于理解排序算法的基本思想和C语言中的指针操作具有重要意义。在实际开发中,更高效的排序...
冒泡排序是一种简单的排序算法,其基本思想是通过重复地遍历要排序的列表,比较相邻的两个元素,如果它们的顺序错误就把它们交换过来。遍历列表的工作是重复进行的,直到没有再需要交换的元素,也就是说该列表已经...
插入排序是一种简单的排序算法,它的基本思想是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。在C++中,可以使用两层循环实现,外层循环控制未排序部分,内层循环寻找插入...
它的基本思想是通过不断地比较相邻元素并交换位置,使较大的(或较小的)元素逐渐“浮”到序列的尾部,就像水底下的气泡慢慢上升到水面一样。在本实验3中,我们将深入理解并实现冒泡排序程序。 冒泡排序的核心在于...
冒泡排序的主要思想是:在每一趟排序中,通过比较相邻记录的大小,如果前者的记录大于后者的记录,则交换它们的顺序,以此达到排序的目的。 冒泡排序的原理可以用以下方式来描述:假设我们有一个数组,数组中的每个...
阐述冒泡排序的基本思想,即通过相邻元素的比较和交换,将最大或最小的元素逐步“冒泡”到序列的一端。 如何学习: 仔细阅读冒泡排序的定义,理解其基本概念。 尝试用自己的话复述冒泡排序的基本思想,加深理解。 ...
冒泡排序的基本思想是,重复地走访过要排序的元素列表,依次比较相邻的两个元素,如果它们的顺序(如从小到大)错误就把它们交换过来。走访列表的工作是重复进行的,直到没有再需要交换的元素,表示该列表已经排序...
冒泡排序的基本思想是通过不断地比较和交换相邻元素来实现排序。具体来说,冒泡排序算法可以分为两步:第一步是比较相邻元素,如果它们的顺序不正确,则交换它们;第二步是重复第一步直到整个数组都已经排序。 快速...
冒泡排序的核心思想是通过不断地交换相邻两个元素的位置来实现排序。具体步骤如下: 1. **第一轮**:从数组的第一个元素开始,依次比较相邻的两个元素。若前一个元素大于后一个元素,则交换它们的位置;若前一个元素...
#### 冒泡排序基本思想 1. **比较相邻元素**:从数组的第一个元素开始,依次比较每一对相邻的元素。 2. **交换位置**:如果前面的元素大于后面的元素,则交换它们的位置。 3. **重复步骤**:对每一对相邻元素执行此...
#### 一、冒泡排序基本概念 冒泡排序是一种简单的排序算法,它重复地遍历待排序的数列,依次比较相邻的两个元素,如果它们的顺序错误就把它们交换过来。遍历数列的工作是重复进行的,直到没有再需要交换,也就是说...
冒泡排序的基本思想是通过重复遍历待排序的序列,比较相邻元素并根据需要交换它们的位置,使得每一轮遍历后最大的元素“浮”到序列的末尾。这个过程会反复进行,直到整个序列有序。 在VB中实现冒泡排序,我们需要...
快速排序的基本思想是选取一个基准值,将数组分为两部分:一部分的元素都小于基准,另一部分的元素都大于或等于基准。然后对这两部分分别进行快速排序。快速排序的平均时间复杂度为O(n log n),即使在最坏的情况下,...
本文通过一段C语言程序详细解释了如何对二维数组进行冒泡排序,包括其基本思想、实现步骤以及需要注意的关键点。 #### 二、冒泡排序简介 冒泡排序的基本思想是通过不断地交换相邻元素的位置来达到排序的目的。在每...
#### 一、冒泡排序基本概念 冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复进行的,直到没有再需要交换的...
冒泡排序是一种简单的排序算法,其基本思想是通过重复地走访待排序的数列,比较每对相邻项,并在必要时交换它们的位置,直到没有更多的交换需要为止,此时数列即为已排序状态。 ### 冒泡排序的基本原理 冒泡排序的...