Java实现排序算法之选择排序

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

Java实现排序算法之选择排序

Java实现排序算法之选择排序

head指针指向每次循环中的第一个位置(去掉最小值之后)
rear指针在每次循环中遍历找最小值,如果有比head位置小的值,就与之交换

import java.util.Arrays;

public class SelectionSort {

    public static void sort(int[] data){
        int temp;
        int head = 0;
        int rear = head+1;

        while (head<data.length-1){

            while(rear<=data.length-1) {

            if (data[head]>data[rear]){
                temp = data[head];
                data[head] = data[rear];
                data[rear] = temp;
            }
            
            rear++;
            }
            head++;
            rear = head+1;
        }
    }

    public static void main(String[] args) {
        int[] test = new int[]{9,836,72,6,5,42467,3,20,1};
        sort(test);
        System.out.println(Arrays.toString(test));
    }

}

排序算法选择排序原理及Java实现 选择排序是一种简单直观的排序算法,其基本原理如下:对于给定的一组记录,经过第一轮比较后得到最小的记录,然后将该记录的位置与第一个记录的位置交换;接着对不包括第一个记录以外的其他记录进行第二次比较,得到最小记录并与第二个位置记录交换;重复该过程,知道进行比较的记录只剩下一个为止。 阅读详情

相关推荐

Java 实现选择排序:[通俗易懂的排序算法系列之一]

选择排序是一种简单直观的排序算法。它的核心思想非常符合人类的直觉:想象一下,你面前有一高矮不一的人,你想让他们按身高从矮到高好队。从所有未排序的人中,找到最矮的那个人。然后,让他站到队伍的最左边(也就是第一个位置)。从剩下的未排序的人中,再次找到最矮的那个人。让他站到当前已好队的人后面(也就是第二个位置)。每一轮都从未排序的人中选出最矮的,放到已排序队伍的末尾,直到所有人都好队。每一轮从未排序的区间中挑选出最小值(或最大值),然后将其放置在已排序区间的末尾(或开头)。

weixin_52568491的博客 946

java排序算法之_选择排序(实例讲解)

下面小编就为大家带来一篇java排序算法之_选择排序(实例讲解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

java算法——选择排序

选择排序: 每次在“无序”队列中选择“最小值”,放在有序队列最后,并从无序队列中删除该值。

Java 实现的八种常用排序算法

八种排序算法可以按照如图分类 交换排序 所谓交换,就是序列中任意两个元素进行比较,根据比较结果来交换各自在序列中的位置,以此达到排序的目的。 1. 冒泡排序 冒泡排序是一种简单的交换排序算法,以升序排序为例,其核心思想是: 从第一个元素开始,比较相邻的两个元素。如果第一个比第二个大,则进行交换。 轮到下一组相邻元素,执行同样的比较操作,再找下一组,直到没有相邻元素可比较为止,此时最后的元素应是最大的数。 除了每次排序得到的最后一个元素,对剩余元素重复以上步骤,直到没有任何一对元素需要比较为止。 ..

低吟不作语的博客 1万+

Java选择排序算法(select sorting)

选择排序(select sorting)也是一种简单的排序方法。他的基本思想是:第一次从arr[0]~arr[n-1]中选取最小值,与arr[0]交换,第二次从arr[1] arr[n-1]中选取最小值,与arr[1]交换,第三次从arr[2] ~ arr[n-1]中选取最小值,与arr[2]交换,...,第n-1次从arr[n-2] ~ arr[n-1]中选取最小值,与arr[n-2]交换,总共通过n-1次,得到一个排序码从小到大列的有序序列。

Elegance never goes out of fashion 3408

Java选择排序算法, 大白话式图文解析(附代码)

学数据结构与算法怎么少得了排序? 七大排序算法之[选择排序]详细图解, 结尾附[总体对比分析]

yzhcjl_的博客 2405

Java排序算法2):选择排序

选择排序(Selection Sort)是一种简单的排序算法,其基本思想是在待排序序列中选择最小(或最大)的元素,将其与序列的第一个元素交换位置,然后在剩余的元素中继续选择最小(或最大)的元素,将其与序列的第二个元素交换位置,以此类推,直到整个序列有序为止。选择排序的时间复杂度为 O(n^2),其中 n 是待排序序列的长度。虽然选择排序的时间复杂度较高,但是它的实现简单,容易理解,并且在某些特定场景下仍然有着广泛的应用。

暗星涌动 2530

基础排序算法----选择排序

选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。选择排序是不稳定的排序方法。 #include<bits/stdc++.h> using namespac...

蒟蒻达的博客 3413

Java实现选择排序算法

选择排序是一种基础的排序算法,虽然时间复杂度较高,但在某些特定场景下仍然具有应用价值。它的特点是实现简单,但效率较低,因此在实际应用中通常被更高效的排序算法(如快速排序或归并排序)所取代。

zhangxueyi的专栏 1009

java实现选择排序算法

前面我们讲解了选择排序算法,现在我们用java代码来实现 package ttt; public class SelectSort { public static int[] BubbleSort(int[] theArray) { int tmp; for(int i = 0; i &lt; theArray.length; i++) { for (...

美丽的泡沫 1874

选择排序算法JAVA实现

package Utils.Sort;/***@author Linyco*利用选择排序法对数组排序,数组中元素必须实现了Comparable接口。*/public class ChooseSort implements SortStrategy{       /**       *对数组obj中的元素以选择排序算法进行排序       */       public void sort(Comp

刘锡明的专栏 4580

Java 选择排序 算法

Java 选择排序算法的示例代码。 欢迎访问个人博客。 http://blog.csdn.net/evanwang1987

JAVA实现选择排序算法

首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。时间复杂度为O(n^2) package SelectSort; import java.util.Arrays; /** * 选择排序 * 时间复杂度为O(n^2) * @author D * */ publi...

yuchen_lucky的博客 231

java选择排序算法实现

//选择排序 public class SelectionSort { public static void main(String[] args) { int[] arr={1,3,2,45,65,33,12}; System.out.println("交换之前:"); for(int num:arr){ Syst...

有的话没说出来之前,你是他的主人,一旦说出来你就成了他的奴隶||想要干好事,别太把自己当人,别把别人太不当人||认识这个人就是开了一扇窗户,就能看到不一样的东西,听到不一样的声音,能让你思考、觉悟,这已经够了 528

选择排序算法Java实现

八大排序算法 快速排序 选择排序 冒泡排序 插入排序 希尔排序 归并排序排序 基数排序 选择排序算法 package com.test.algorithm; import java.util.Arrays; /** * @author : sangskf * @package : com.test.algorithm.SelectSort * @date : 2019/5/28 ...

蠢萌小呆瓜的博客 181

java 实现简单的选择排序算法

选择排序(Selection sort): 选择排序是一种简单直观的排序算法,无论什么数据进去都是 O(n²) 的时间复杂度。所以用到它的时候,数据规模越小越好。唯一的好处可能就是不占用额外的内存空间了吧。 时间复杂度o(n^2),同时选择排序是不稳定的排序方法。 选择排序思路: 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。 Java实现 public class Select

weixin_45942124的博客 200

选择排序算法(基于Java实现

title: 选择排序算法(基于Java实现) tags: 选择算法 选择排序算法原理及代码实现: 一、选择排序算法的原理 选择排序算法实现思路有点类似插入排序,也分已排序区间和未排序区间。但是选择排序每次会从未排序区间中找到最小的元素,将其放到已排序区间的末尾。 二、选择排序算法的代码实现 package com.company; import java.util.Arrays; public class SelectionSort { public static int[] sel.

qq_39350172的博客 332
下一篇: Java实现排序算法之合并排序
RevisNinja
博客等级 码龄7年 0粉丝 4原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值