选择排序 :
排序原理: 取数组中的一个元素与其后的所有元素比较, 若小于这个元素, 则将该元素下标记录,全部比较完后, 将取得的下标所在元素与当前元素互换,这样最小值就会左移, 如此内推, 直到所有元素完成排序。 |
public class SelectSort { public void selectSortFun(int[] arrs) { if (arrs != null && arrs.length != 0) { for (int i = 0 ; i < arrs.length ; i++) { int tmpValue = arrs[i]; int index = i ; for (int j = i + 1 ; j < arrs.length; j++) { if (arrs[j] - tmpValue < 0) { index = j; tmpValue = arrs[j]; } } System.out.println("tmpValue " + tmpValue ); arrs[index] = arrs[i]; arrs[i] = tmpValue; System.out.println("index " + arrs[i]); } } else { System.out.println("Empty array."); } for (int arr : arrs) { System.out.println(arr); } } public static void main(String[] args) { int[] testArr = new int[]{22,19,2,88,32,80,27,58,15}; SelectSort ss = new SelectSort(); ss.selectSortFun(testArr); } }
相关推荐
本文主要探讨了几种常见的C++排序方法,包括冒泡排序、选择排序、快速排序和希尔排序。 首先,冒泡排序是一种简单直观的排序算法。它的基本思想是通过重复遍历待排序的序列,比较相邻元素并交换位置,使得较大的...
1. 直接排序法(简单选择排序): 简单选择排序是一种基础的排序算法,它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。这种排序...
选择排序是一种简单的排序算法,它的基本思想是在未排序的序列中找到最小(或最大)的元素,存放到排序序列的起始位置,然后再从剩余未排序的元素中继续寻找最小(或最大)的元素,然后放到已排序序列的末尾。...
3. **选择排序**:选择排序每次从未排序的部分选取最小(或最大)的元素,放到已排序部分的末尾。该算法不保证稳定性,但其交换次数固定,适合处理数据量较小的情况。 4. **堆排序**:堆排序利用了堆这种数据结构。...
选择排序:对一个队列里的数据,选出当前最大或者最小的值,然后将他与队首的数据交换,然后从第二个开始,进行相同的操作,运算时间复杂度N平方,但由于他不像冒泡一样需要不停的交换位置,所以会比冒泡快一些 ...
选择排序法(Selection Sort)是一种简单直观的排序算法,它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。本文将详细介绍C语言实现...
本项目聚焦于选择排序法,这是一种简单直观的排序算法,适用于小规模数据集或教学目的。 选择排序的工作原理如下: 1. **基本概念**:选择排序是一种不稳定的排序方法,它通过重复地找出待排序序列中的最小(或...
尽管在面对大规模数据时,需要选择更加高效的排序算法,但在数据量较小或者对排序性能要求不高的场合,冒泡排序仍然是一个非常实用的工具。因此,掌握冒泡排序的基本原理和实现方法,对于深入学习更高级的排序算法...
常用的五种排序方法,包括 冒泡法排序,选择排序,插入排序,归并排序,快速排序
选择排序法是排序法中的一种经典算法,选择排序法可以分为简单选择排序、树形选择排序和堆排序。选择排序法的主要思想是选择数组中最小(或最大)的元素,并将其与数组的第一个元素交换,然后选择剩余元素中最小(或...
C语言程序设计-排序算法:理解和重点掌握选择法排序、冒泡法排序、插入法排序的思想 ⑴编写程序,对n个整数用冒泡法排序(从小到大或从大到小); ⑵编写程序,对n个整数用选择法排序(从小到大或从大到小); ⑶...
这里我们主要探讨六种经典的排序算法,包括直接插入排序法、冒泡排序法、直接选择排序法、快速排序法、堆排序法和归并排序法。这六种排序算法各有特点,适用于不同的场景。 1. 直接插入排序法: 直接插入排序的基本...
快速排序也是基于分治法,选取一个基准值,通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,然后再分别对这两部分记录进行排序。快速排序在平均情况下有很好的性能,...
本文将深入探讨一种经典的排序算法——选择排序,并通过给定的C语言代码示例来详细解析其工作原理和实现过程。 ### 选择排序的基本概念 选择排序是一种简单直观的比较排序算法。其基本思想是在未排序序列中找到...
根据给定文件的信息,本文将深入探讨C语言中的两种经典排序方法:插入排序法与冒泡排序法。这两种方法在实际编程中应用广泛,对于理解数据结构与算法的基础概念至关重要。 ### 一、冒泡排序法 #### 1.1 基本原理 ...
下面将详细讲解这7种排序算法:快速排序、归并排序、插入排序、选择排序、冒泡排序、堆排序以及希尔排序。 1. **快速排序**:由C.A.R. Hoare提出的,采用分治策略。基本思想是选取一个基准元素,通过一趟排序将待...
本主题聚焦于三种常见的排序算法:选择法排序、冒泡法排序和合并法排序,这些方法在VB6.0编程环境中都有实现的源代码。 1. **选择法排序(Selection Sort)**: - 基本思想:在未排序序列中找到最小(或最大)元素...
本文将深入探讨标题中提到的几种基于比较的排序算法:选择排序、插入排序、归并排序、快速排序、堆排序、冒泡排序以及希尔排序。 1. **选择排序(Selection Sort)**: - 基本思想:在未排序的序列中找到最小(或...
功能:编写函数用选择排序法对数组中的数据进行从小到大的排序;