java中数组的排序,选择排序法

要求:对数组arr[]进行选择排序法排序。

思路:

1,从第一个元素(角标是0)开始,和它后面的每一个元素进行比较,把较小的数存放在第一个元素中,这样,第一个元素就是最小的值。

2,从第二个元素开始,和它后面的每一个元素进行比较,把较小的数存放在第二个元素中,这样,第二个元素就是除第一个外最小的值。

3,继续....

4,倒数第二个元素(角标是length-2),和倒数第一个元素(length-1)对比,较小的放在倒数第二个元素里面。

至此,排序完毕。

实现代码:

//选择排序
 public static void xuanze(int[] a) {
  for(int i=0;i<a.length-1;i++){//选择的数组中的数字
   for(int j=i+1;j<a.length;j++){  //选择的和数组中所有的进行比较排序
    if(a[i]>a[j]){
     int temp=a[i];
     a[i]=a[j];
     a[j]=temp;
    }
   }
  }
 }

时间: 2024-07-28 17:19:20

java中数组的排序,选择排序法的相关文章

java中数组的三种排序算法

Java中的数组主要有三种排序算法,分别是冒泡排序算法.选择排序算法和插入排序算法. 冒泡排序算法 从数组中首元素开始和其他元素逐个比较,若其中一个元素比其小(或大),就交换首元素与其位置. 选择排序算法 插入排序算法 "我想你只是输在心软,不够卑鄙." 原文地址:https://www.cnblogs.com/yanggb/p/12105421.html

C语言链表中数组实现数据选择排序,升序、降序功能主要难点

链表排序讲解: head指针指向链表的头结点,是找到整个链表的唯一依据,如果head指针丢失,整个链表就找不到了. head存储的是第一个节点的地址,head->next存储的是第二个节点的地址:  任意一个节点p的地址,只能通过它前一个节点的next来求得. 单向链表的选择排序图示: ---->[1]---->[3]---->[2]...---->[n]---->[NULL](原链表) head   1->next  3->next  2->next

算法大神之路----排序(选择排序法)

选择排序法,顾名思义,就是把特定的数据选择出来进行排序. 选择排序法有两种方式 在所有的数据中,当由大到小排序,那么就将最大值放到第一个位置 如果由小到大排序,那么就将最小值放到第一个位置 以由小到大排序举例,当排序时候,扫描整个数据,拿第一个依次与其他做比较,如果其他数据比第一个大,或者相等,那么就不交换,如果其他数据比第一个数小,那么就交换二者的位置,扫描结束后,则从第二个数开始,依次扫描. 方法分析 无论是最坏还是最好情况,甚至是平均情况下,都需要对全部数据进行扫描,找到最大或最小值,因此

JavaScript ,Python,java,Go系列算法之选择排序

常见的内部排序算法有:插入排序.希尔排序.选择排序.冒泡排序.归并排序.快速排序.堆排序.基数排序等.用一张图概括: 选择排序 选择排序是一种简单直观的排序算法,无论什么数据进去都是O(n2) 的时间复杂度.所以用到它的时候,数据规模越小越好.唯一的好处可能就是不占用额外的内存空间了吧.通俗来说就是你们中间谁最小谁就出列,站到队列的最后边,然后继续对着剩余的无序数组说你们中间谁最小谁就出列,站到队列的最后边,一直到最后一个,继续站到最后边,这样数组就有了顺序,从小到大. 1.算法步骤 首先在未排

java结构与算法之选择排序

一 .java结构与算法之选择排序 什么事选择排序:从一组无序数据中选择出中小的的值,将该值与无序区的最左边的的值进行交换. 简单的解释:假设有这样一组数据 12,4,23,5,找到最小值 4 放在最右边,然后找到 5 放在  4 的后面,重复该操作. 选择排序参考代码: public class ChooseSort { int[] array = null; @Test public void testPopSort() { array = new int[5]; array[0] = 45

Java数据结构之排序---选择排序

简单选择排序的介绍: 从给定的序列中,按照指定的规则选出某一个元素,再根据规定交换位置后达到有序的目的. 简单选择排序的基本思想: 假定我们的数组为int [] arr = new int[n],第一次我们从arr[0]~arr[n-1]中选择出最小的值与arr[0]交换.第二次我们从arr[1]~arr[n-1]中选择出最小的值与arr[1]交换.第三次我们从arr[2]~arr[n-1]中选择出最小的值与arr[2]交换,...,第i次我们从arr[i-1]~arr[n-1]中选择出最小的值

JS中的冒泡排序与选择排序

1.冒泡排序 作为最简单的排序算法之一,冒泡排序的思想是,从左到右依次比较两个存储数据的大小,如果第一个数大于第二个数,就交换两个数据,这样一轮比较之后,最大的数会放在后面,这样,每次循环比较,本轮中的最大值都会排到最后,直到循环结束,实现数组升序. 动图演示如下: 代码如下: 首先定义外层循环,如果有n个数据进行循环比较,最后一次循环排序,最后两个值的大小已经确定,所以最后一个数值不需要参与循环,即n-1次,这里就是(arr.length-1) -1次: 定义内层循环,当前位i和i+1进行比较

01. Java的经典排序--选择排序--冒泡排序--折半查找(二分查找)

Java的经典排序--选择排序--冒泡排序--折半查找 选择排序 选择排序 3 2 1 5 8 0 1 3 2 5 8 1 1 2 3 5 8 2 1 2 3 5 8 3 1 2 3 5 8 public static void main(String[] args) { int[] arr={3,2,1,5,8}; selectSort(arr); for(int i = 0 ; i < arr.length ; i ++){ System.out.println(arr[i]) ; } }

Java中数组要点总结

1.数组是基本数据类型和字符串类型的容器(引用数据类型),而集合是类数据类型的容器: 2.数组定义的格式: (1)一般格式: 元素类型[] 数组名 = new 元素类型[元素个数或者数组长度]: 其中,元素类型[] 数组名是一个引用数据类型,存放在栈中: new 元素类型[元素个数或者数组长度]存放在堆中数组对象,继承自Object. (2)定义和静态初始化 元素类型[] 数组名 = {,,}: 元素类型[] 数组名 = new 元素类型[元素个数或者数组长度]{ ,,,,,,,}: 注意:别忘