选择排序java语言实现

 1 class demo
 2 {
 3     public static void main(String[] args)
 4     {
 5         int[] arr={1,4,2,6,8,9,0,5,3,2,2,4,4,6,7,8};
 6         for (int i=0;i<arr.length-1;i++) {
 7             for (int j=i+1;j<arr.length ;j++ ) {
 8                 int temp;
 9                 if (arr[i]>arr[j]) {
10                     temp=arr[i];
11                     arr[i]=arr[j];
12                     arr[j]=temp;
13                 }
14             }
15         }
16         for (int i=0;i<arr.length ;i++ ) {
17             System.out.print(arr[i]+",");
18         }
19     }
20 }

选择排序:从第一个开始,让当前项后的所有项与当前项比较,根据排序条件交换位置,直到倒数第二位,共比较n(n-1)/2次

时间: 2024-08-04 18:22:49

选择排序java语言实现的相关文章

排序(1)---------选择排序(C语言实现)

选择排序的基本思想: 选择排序(Selection sort)是一种简单直观的排序算法.它的工作原理如下.首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾.以此类推,直到所有元素均排序完毕. 我的通俗解释: ①第一遍先在整个序列中寻找到最小值,将其移到首位,序列被分为1,n-1; ②继续在n-1中寻找最小值,将其移到n-1的首位,也就是整个序列的第二位 ③以此类推,反复操作步骤②,得到结果 选择排序的主要优

冒泡排序与简单选择排序——Java实现

1.冒泡排序 1)原理说明:重复遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成. 2)代码实现: package com.test.sort; public class BubbleSort { public static void sort(int[] data) { for (int i = 0; i < data.length; i++) { for (int j = data.length

选择排序-java

排序-选择排序 基本思想:在待排序子表中找出最大(小)元素, 并将该元素放在子表的最前(后)面. 平均时间:O(n2) 最好情况:O(n2) 最坏情况:O(n2) 辅助空间:O(1) 稳定性:不稳定 适用场景:n比较小时 java实现: 1 public static void selectSort(int[] list) { 2 3 for (int i = 0; i < list.length; i++) { 4 int min = list[i]; 5 int minIndex = i;

排序算法——选择排序(js语言实现)

选择排序:顾名思义选择,选择排序属于O(N^2)的排序算法,意思就是选择数组中的最小的拿出来放在第一位,然后再剩下的数里面,选择最小的,排在第二位,以此类推. 例如:8  3  4  5  6  2  1  7 第一次:寻找数组中最小的数1,然后和8替换,得到 1 3 4 5 6 2 8 7 第二次:因为1的位置已经确定,所以只需要找剩下数组中最小的就行了,2和3互换得到1 2 4 5 6 3 8 7 第三次:1和2的位置已经确定,就看剩下的数中最小的数,3和4互换,结果是1 2 3 5 6 4

选择排序JAVA实现

package kpp.sort; /** * 选择排序 * 从第0个元素开始,每次选择最小的元素,与当前元素交换 * 简单选择排序是不稳定的排序. 时间复杂度:T(n)=O(n^2). * @author kpp * */ public class SelectSort { public static void main(String[] args) { // TODO Auto-generated method stub int array[] = {49,38,65,97,176,213,

选择排序(C语言实现)

/* 选择排序:就是选一个最小(或最大)排在左边或者右边 */ //头文件 sort.h #include <stdio.h> void Print(int* arr,int len) { int i; for(i=0;i<len;i++) { printf("%d ",arr[i]); } printf("\n"); } void Swap(int* a,int* b) { *a=*a+*b; *b=*a-*b; *a=*a-*b; } //ma

排序算法入门之选择排序-Java实现

本文参考http://blog.csdn.net/m0_37568091/article/details/78023705 选择排序是先从对象数组中选出最小的放在第一个位置,再从剩下的元素中选择次小的放在第二个位置,以此类推...这里以数组排序实现. public static void chooseSort(int[] a){ for(int i=0;i<a.length;i++){ //假设最小值下标是i int min=i; //依次找出最小值 for(int j=i+1;j<a.len

【算法】简单选择排序C语言实现

上一篇我们谈到了冒泡排序,实现了两个版本的冒泡排序,不知道大家有没有对冒泡排序的特点进行一下总结呢?其实冒泡排序还算是比较暴力的,因为它频繁不断的进行交换,那么这样的话,我们的计算机的计算频率就会很高,不算是很高效,那么我们可不可以找到一种交换次数少一点的方法呢?这就引出了我们接下来要介绍的简单选择排序算法了. 简单选择排序的基本思想就是通过N-1次的关键字间的比较,从N - i + 1个记录中选择一个关键字最小记录,并和第i(1<= i <= n)个记录交换,其实简单选择排序和冒泡排序在思路

排序——选择排序(java描述)

百度百科的描述如下:选择排序(Selection sort)是一种简单直观的排序算法.它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾.以此类推,直到全部待排序的数据元素排完. 选择排序是不稳定的排序方法. public class Sorting { public static void main(String[] args) { int[] a = { 6, 2, 5, 3,