`

算法-选择排序

阅读更多
package com.arithmetic.sort;

public class SelectSort {
	public static void main(String[] args) {
		/**Select Sort
		 * 思想:先选出最小的放在最左边,然后再从剩下的找最小的放在左边位置+1,依次类推
		 * 比较:
		 * 选择排序与冒泡排序的区别在:冒泡排序每次比较后,如果发现顺序不对立即进行交换,
		 * 而选择排序不立即进行交换,而是找出最小的元素后再进行交换。
		 */
		int [] arrays = new int[]{3,15,6,99,13,12,12,56,100,67};
		for(int x = 0; x<arrays.length-1;x++){//也会比较N-1次
			for(int y=x+1;y < arrays.length; y++){//每一次都和最小的比较,并且进行交换
				if(arrays[y] < arrays[x]){
					int tmp = arrays[x];
					arrays[x] = arrays[y];
					arrays[y] = tmp;
				}
			}
			System.out.println("第"+x+"次比较");
			for(int i = 0; i<arrays.length;i++){
				System.out.print(arrays[i]+" ");
			}
			System.out.println();
		}
	}
}

 

分享到:
评论

相关推荐

    详解Java常用排序算法-选择排序

    详解Java常用排序算法-选择排序 选择排序(Selection Sort)是一种简单的排序算法,它的基本思想是每次从待排序的元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的元素排完。 选择...

    堆排序详细图解(通俗易懂)+排序算法-堆排序(超详细)

    堆排序详细图解(通俗易懂)+排序算法----堆排序(超详细)堆排序详细图解(通俗易懂)+排序算法----堆排序(超详细)堆排序详细图解(通俗易懂)+排序算法----堆排序(超详细)堆排序详细图解(通俗易懂)+排序算法...

    数据结构与算法-选择排序C++实现

    内容概要:本文详细介绍了选择排序算法的基本原理及其时间复杂度、空间复杂度,并通过C++代码展示了其实现方式。选择排序是一种不稳定排序方法,它每次从未排序部分中选取最小的元素放置到当前有序部分的末尾。 适合...

    经典算法的C#源码实现

    经典排序算法 - 选择排序Selection sort 经典排序算法 - 鸡尾酒排序Cocktail sort 经典排序算法 - 希尔排序Shell sort 经典排序算法 - 堆排序Heap sort序 经典排序算法 - 地精排序Gnome Sort 经典排序算法 - ...

    基于python的排序算法-选择排序Selection Sort

    选择排序是一种简单直观的排序算法,它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。这种排序方式在Python编程中有着广泛的应用。...

    6--[scratch算法练习-选择排序].zip源码scratch2.0 3.0编程项目源文件源码案例素材源代码

    6--[scratch算法练习-选择排序].zip源码scratch2.0 3.0编程项目源文件源码案例素材源代码6--[scratch算法练习-选择排序].zip源码scratch2.0 3.0编程项目源文件源码案例素材源代码6--[scratch算法练习-选择排序]....

    算法-数据结构和算法-10-选择排序.rar

    **选择排序**是一种简单直观的排序算法,它的工作原理如下:在未排序的序列中找到最小(或最大)的元素,存放到排序序列的起始位置,然后再从剩余未排序的元素中继续寻找最小(或最大)的元素,然后放到已排序序列的...

    Java后端算法-冒泡排序和选择排序对比

    本文将深入探讨两种基础且常见的排序算法:冒泡排序和选择排序。这两种算法都是简单直观的排序方法,但它们在性能和适用场景上有所不同。 **冒泡排序**: 冒泡排序是一种交换排序,通过不断比较相邻元素并交换位置...

    最快的排序算法 计算机最快的算法-史上14个最快速算法:孩子的计算能力爆表!大脑堪比计算机!...,排序算法数据结构

    选择排序算法也是一种简单的排序算法,它的工作原理是通过选择最小或最大元素,并将其与第一个元素交换,以达到排序的目的。选择排序算法的时间复杂度也为O(n^2),因此它也适合小规模的数据排序。 3.插入排序算法 ...

    经典算法-- 排序算法介绍

    总的来说,排序算法的选择取决于具体的应用场景和性能需求。在处理小规模数据时,简单的排序算法可能就足够了,但对于大规模数据,高效排序算法如快速排序和归并排序更为合适。在实际编程中,还需要考虑稳定性、空间...

    常用排序算法--堆排序

    常用的排序算法--堆排序,通过创建堆的方法进行排序

    C语言算法-快速排序法

    C语言算法--快速排序法

    排序算法-插入排序

    插入排序是一种基础且直观的排序算法,它的工作原理...通过理解插入排序的工作原理和特性,我们可以更好地利用它来解决实际问题,并根据需要选择合适的排序算法。对于学习和理解排序算法,插入排序是一个很好的起点。

    经典排序算法源代码-插入排序-选择排序-冒泡排序

    本资源包含三个经典的排序算法的源代码:插入排序、选择排序和冒泡排序,这些都是初级到中级程序员常学习和使用的算法。下面将详细介绍这三个排序算法的工作原理、特点以及代码实现。 1. **插入排序(Insertion ...

    数据结构--九种排序算法 --排序001.cpp

    此文件为数据结构中的九种排序算法,包含一些排序方法的过程,其九种排序包括:直接插入排序,折半插入排序,希尔排序,冒泡排序,快速排序,选择排序,堆排序,归并排序,基数排序!

    算法-排序-代码.zip

    算法-排序-代码 算法-排序-代码 算法-排序-代码 算法-排序-代码 算法-排序-代码 在我们生活的这个世界中到处都是被排序过的东东。站队的时候会按照身高排序,考试 的名次需要按照分数排序,网上购物的时候会...

    scratch2源码算法练习-选择排序

    scratch2源码算法练习-选择排序提取方式是百度网盘分享地址

    算法练习-选择排序-少儿编程scratch项目源代码文件案例素材.zip

    在这个"算法练习-选择排序"的少儿编程项目中,我们将深入学习和探讨选择排序这一经典算法,并通过Scratch游戏案例进行实践。 选择排序是一种简单直观的排序算法,它的基本思想是在未排序序列中找到最小(或最大)...

    算法-数据结构和算法-13-快速排序.rar

    在某些特定场景下,如需要保持相等元素顺序的排序,可能需要选择稳定排序算法。 数据结构和算法的学习不仅仅是理解算法的原理,还需要通过实践来加深理解。"数据结构和算法-13-快速排序.pdf"这个文件很可能是对快速...

    算法-理论基础- 排序- 直接选择排序(包含源程序).rar

    关于直接选择排序的更多细节,例如算法的伪代码、具体编程语言实现以及性能分析等内容,都可以在压缩包文件“算法-理论基础- 排序- 直接选择排序(包含源程序).rar”中找到。该压缩包可能包含了深入探讨直接选择...

Global site tag (gtag.js) - Google Analytics