精华内容
下载资源
问答
  • java 选择排序法

    2010-06-18 16:54:13
    java 选择排序法 java 选择排序法 java 选择排序法
  • Java 选择排序法

    万次阅读 多人点赞 2018-05-01 20:43:12
     选择排序原理即是,遍历元素找到一个最小(或最大)的元素,把它放在第一个位置,然后再在剩余元素中找到最小(或最大)的元素,把它放在第二个位置,依次下去,完成排序。 时间复杂度  选择排序的时间复杂度为...

    原理简介

            选择排序原理即是,遍历元素找到一个最小(或最大)的元素,把它放在第一个位置,然后再在剩余元素中找到最小(或最大)的元素,把它放在第二个位置,依次下去,完成排序。

    时间复杂度

            选择排序的时间复杂度为 O(n^2)。

            第一次需要检查n个元素,但随后检查的元素数依次为n - 1, n – 2, …, 2和1。平均每次检查的元素数为1/2 * n, 因此运行时间为 n * 1/2 * n,简单地写作 O(n^2)。

    代码实现

            Java 的选择排序示例如下:

    public class SortDemo {
    
        public static void main(String[] args) {
            int[] arr = new int[] { 5, 3, 6, 2, 10, 2, 1 };
            selectSort(arr);
            for (int i = 0; i < arr.length; i++) {
                System.out.print(arr[i] + " ");
            }
        }
    
        public static void selectSort(int[] arr) {
            for (int i = 0; i < arr.length - 1; i++) {
                int minIndex = i; // 用来记录最小值的索引位置,默认值为i
                for (int j = i + 1; j < arr.length; j++) {
                    if (arr[j] < arr[minIndex]) {
                        minIndex = j; // 遍历 i+1~length 的值,找到其中最小值的位置
                    }
                }
                // 交换当前索引 i 和最小值索引 minIndex 两处的值
                if (i != minIndex) {
                    int temp = arr[i];
                    arr[i] = arr[minIndex];
                    arr[minIndex] = temp;
                }
                // 执行完一次循环,当前索引 i 处的值为最小值,直到循环结束即可完成排序
            }
        }
    
    }

    执行结果为:

    1 2 2 3 5 6 10 

     

    展开全文
  • java选择排序法

    2019-09-04 19:48:51
    选择排序法: 1;将数组中的全部元素进行比较,(比较大小方法不用说了吧)把最小值放到为数组中的第一个位置,即a[0] 2:将数组中从第二个元素开始到最后一个元素比较大小,最小值放到数组中的第二个位置; 3:同上,依次类推...

    选择排序法:
    1;将数组中的全部元素进行比较,(比较大小方法不用说了吧)把最小值放到为数组中的第一个位置,即a[0]
    2:将数组中从第二个元素开始到最后一个元素比较大小,最小值放到数组中的第二个位置;
    3:同上,依次类推

    public static void main(String[] args) {
    	int[] a= {1,5,4,2,784,9,11,85};
    	for (int i = 0; i < a.length; i++) {
    		int min=i;
    		for(int j=i+1;j<a.length;j++) {
    			if(a[j]<a[min]) {
    				min=j;	//取到最小值的下标
    			}
    		}
    		//将最小值与第i+1个的值进行交换.使最小值放入指定位置
    		int b=a[i];
    		a[i]=a[min];
    		a[min]=b;
    	}
    	for(int i=0;i<a.length;i++) {
    		System.out.println(a[i]);
    	}
    }
    
    展开全文
  • Java选择排序法

    2020-03-31 15:04:35
    思路:每次遍历一遍数组,找到最大值,并记录其下标。然后内循环结束后将其下标对应的值与数组top上的值交换,然后top-1; public static int[] soft(int[] arr){ for(int top=arr.length-1;top>...

    思路:每次遍历一遍数组,找到最大值,并记录其下标。然后内循环结束后将其下标对应的值与数组top上的值交换,然后top-1;

    public static int[] soft(int[] arr){
            for(int top=arr.length-1;top>=0;top--){
                int indexOfmax=0;      
                //将最大值一开始的下标设置为0
                int max=arr[0];     
                //将最大值为数组的第一个数
                for(int i=0;i<=top;i++){
                      if(arr[i]>max){
                        max=arr[i];     //如果下标为i上的数大于max,则更新max为arr[i]
                        indexOfmax=i;   //保存i下标到indexOfmax中
                        }
                }
                //完成一次内循环,找到当前这轮里最大的数
                //将arr[top]里的值和arr[indexOfmax]中的值交换。将最大值放到top上
                int temp=arr[top];         
                arr[top]=arr[indexOfmax];  
                arr[indexOfmax]=temp;
                }return arr;
    }
    

    测试代码:

    public static void main(String[] args){
            int[] arr=new int[]{6,9,2,3,3,1,98,76,43,21};
            soft(arr);
            for(int i:arr){
                System.out.print(i+" ");
            }
            }
    

    运行结果:
    在这里插入图片描述

    展开全文
  • Java 选择排序法 ...
    展开全文
  • JAVA选择排序法

    2013-04-15 10:48:11
    package xuyan.com; public class Test { /** * @param args */ static int[] a={5,8,7,2,1,9,4,3,6};... public static void main(String[] args) { // TODO Auto-generated method stub
  • 选择排序法选择排序法是一种不稳定的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已...
  • 如果使用冒泡排序进行两两相邻比较,第一趟排序后的结果如下: 13、15、24、4、1、99 第二趟排序后的结果如下: 13、15、4、1、24、99 第三趟排序后的结果如下: 13、4、1、15、24、99 第四趟排序后的...
  • // 选择排序,假设第一个数字是最小值,要点是找最小值 int[] nums = {54,5,64,23,8,12,7}; //选择排序,每次循环,交换i的值和minIndex的值 for (int i = 0; i < nums.length;...
  • 一、选择排序 原理:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序...
  • public class SelectSort { public static void main(String[] args){ int array[] = new int[]{63,4,24,1,3,15}; System.out.print(...k 输出结果为: 初始数组为:63 4 24 1 3 15 排序后的数组为:1 3 4 15 24 63
  • //选择排序法 一个元素 和 其他所有元素比较 int[] a = {8,5,4,3,7,2}; /* 0 1 2 3 4 5 8 5 4 3 7 2 0-1 5 8 4 3 7 2 i=0 0-2 4 8 5 3 7 2 j=1;j<6;j++ 0-3 3 8 5 4 7 2 .
  • 主要介绍了Java冒泡排序法和选择排序法的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • java 冒泡排序法、直接排序法、选择排序法 一、冒泡排序法 算法原理 a.比较相邻的元素。如果第一个比第二个大,就交换他们两个。 b.对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后...
  • Java冒泡排序法和选择排序法

    万次阅读 多人点赞 2017-06-03 02:18:31
    冒泡排序法和选择排序法冒泡排序法概念: 从前向后(或从后向前)依次比较相邻的元素,若发现逆顺序,则交换。小的向前换,大的向后换,像水底的气泡逐渐向上冒,顾名思义冒泡排序法。 通俗一点就是把大的往上挪!...
  • 1.快速排序的原理: 选择一个关键值作为基准值。比基准值小的都在左边序列(一般是无序的),比基准值大的都在右边(一般是无序的)。 从后往前比较,用基准值和最后一个值比较,如果比基准值小的交换位置,如果...
  • 冒泡排序法: public class 冒泡排序 {  /**  * @param args  */  public static void main(String[] args) {  // TODO Auto-generated method stub  int[] a={4,20,3,9,14,23,10,

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,222
精华内容 488
关键字:

java选择排序法

java 订阅