精华内容
下载资源
问答
  • Java直接选择排序

    千次阅读 2017-02-24 13:49:41
    直接选择排序(Straight Selection Sort)思想是:在第1趟中,从n个记录中找出关键字值最小的记录与第一个记录进行交换;再第2趟中,从第2个记录开始的n-1个记录中再选出关键字最小的记录与第二个记录交换1;以此类推...

    直接选择排序(Straight Selection Sort)思想是:在第1趟中,从n个记录中找出关键字值最小的记录与第一个记录进行交换;再第2趟中,从第2个记录开始的n-1个记录中再选出关键字最小的记录与第二个记录交换1;以此类推,在第i趟中,从第i个记录开始的n-i+1个记录中选出关键字最小的记录与第i个记录交换,直到整个序列按关键字值有序为止。

    import java.util.Arrays;
    
    /**
     * 直接选择排序算法
     */
    
    /**
     * @author 16026
     *
     */
    public class DirectSelectSort {
        public static void sort(int[] array) {
    
            int len = array.length;
    
            for (int i = 0; i < len - 1; i++) {
    
                int min = i;// 设当前第i条记录为最小值
    
                // 找出(i+1)到(len-1)中最小值的下标
                for (int j = i + 1; j < len; j++) {
                    if (array[j] < array[min]) {
                        min = j;// 记录最小值下标
                    }
                }
    
                // 将最小值记录与第i条记录交换
                if (min != i) {
                    int temp = array[i];
                    array[i] = array[min];
                    array[min] = temp;
                }
            }
        }
    
        public static void main(String [] args){
            int [] array = {45,89,699,52,14,236,58,7};
            sort(array);
            System.out.println(Arrays.toString(array));
        }
    }
    

    运行结果是:
    这里写图片描述

    展开全文
  • Java 直接选择排序

    千次阅读 2010-02-16 21:32:00
    直接选择排序算法:从待排序的数据元素集合中选取最小的元素放到原始数据的第一个元素的位置上。然后不包括第一个元素的数据元素集合中找到最小的元素放到此集合中,依次类推,即可完成排序。算法实现如下:/** * ...

          直接选择排序算法:从待排序的数据元素集合中选取最小的元素放到原始数据的第一个元素的位置上。然后不包括第一个元素的数据元素集合中找到最小的元素放到此集合中,依次类推,即可完成排序。

    算法实现如下:

    如果每次排序后将数据元素依次后移就可以避免同一元素后移带来的排序方式不稳定的问题。

    展开全文
  • 选择排序直接选择排序Java实现

    选择排序之直接选择排序Java实现

    <pre name="code" class="java">package com.mike.sort;
    
    import java.util.Arrays;
    
    public class SelectSort {
    	/*
    	 * 直接选择排序
    	 */
    	public static void selectSort(DataWrap[] data){
    		int length=data.length;
    		for (int i = 0; i < data.length-1; i++) {
    			int minIndex=i;
    			for (int j = i+1; j < data.length; j++) {
    				if (data[minIndex].compareTo(data[j])>0) {
    					minIndex=j;
    				}
    			}
    			if (minIndex!=i) {
    				DataWrap temp=data[minIndex];
    				data[minIndex]=data[i];
    				data[i]=temp;
    			}
    		}
    	}
        /*
    	 * 交换数组元素
    	 */
    	public static void swap(DataWrap[] data,int i,int j){
    		DataWrap temp=data[i];
    		data[i]=data[j];
    		data[j]=temp;
    	}
        public static void main(String[] args) {  
            DataWrap[] dataWraps={  
                    new DataWrap(21,""),  
                    new DataWrap(31,""),  
                    new DataWrap(2,""),  
                    new DataWrap(2338,"*"),  
                    new DataWrap(2122,""),  
                    new DataWrap(22,""),  
                    new DataWrap(55,""),  
                    new DataWrap(134,""),  
                    new DataWrap(24000,"")  
            };  
            System.out.println("排序之前:"+Arrays.toString(dataWraps));  
            selectSort(dataWraps);  
            System.out.println("排序之后:"+Arrays.toString(dataWraps));  
        }
    }
    /*
    *定义一个数据包装类
    */
    class DataWrap implements Comparable<DataWrap>{
    	int data;
    	String flag;
    	public DataWrap() {
    		// TODO Auto-generated constructor stub
    	}
    	public DataWrap(int data,String flag) {
    		this.data=data;
    		this.flag=flag;
    	}
    	@Override
    	public String toString(){
    		return data+flag;
    	}
    	@Override
    	public int compareTo(DataWrap o) {
    		// TODO Auto-generated method stub
    		return this.data>o.data?1:(this.data==o.data?0:-1);
    	}
    }
    


    
    
    
    
    展开全文
  • java实现直接选择排序

    千次阅读 2014-10-06 10:46:25
    数据结构中,有很多排序算法,xue

              数据结构中,有很多排序算法,学数据结构的时候没有用心弄明白,只能现在自己来弄清楚了,我一个一个来,这次是直接选择排序,排序思想:

    1.首先,将第一个数作为最小值(从小到大的顺序),然后与第二个数比较,如果大于第二个数,这交换这两个数值,然后继续让第一个数与第三个数比较,以此类推;如果是把第一个数作为最大值的话(从大到小的顺序),与第二个数比较,如果小于第二个数,这交换这两个数值,再与第三个比较,以此类推;

    2.每一轮都会把最大值或者最小值放到最左边,直到排序完成。

    下面是算法代码:

    package dataStructures;
    /** 
     * 类说明 
     * @author jiang
     * @date 创建时间:2014年10月6日 上午10:32:29 
     */
    public class DirectSelectionSort {
    
    	//实现直接选择排序算法
    	//按从小到大的顺序排序并输出
    	public void directSelectionSort(int str[]){
    		int min = 0;        //定义一个最小值变量,用来做交换时的中间变量
    		for (int i = 0; i < str.length-1; i++) {   //注意这里数组索引越界
    			min = str[i];
    			for (int j = i+1; j < str.length; j++) {   //每一次循环都把最小的数与str[i]交换
    				if (str[i]>str[j]) {
    					min = str[j];
    					str[j] = str[i];
    					str[i] = min;
    				}
    			}
    		}
    	}
    	public static void main(String[] args){
    		int str[] = {25,12,15,3,56,8,98,552};  //初始化一个数组
    		System.out.println("排序前:");
    		for (int i = 0; i < str.length; i++) {
    			System.out.print(str[i]+" ");
    		}
    		DirectSelectionSort sls = new DirectSelectionSort();
    		sls.directSelectionSort(str);          //进行排序
    		System.out.println();
    		System.out.println("排序后:");
    		for (int i = 0; i < str.length; i++) {
    			System.out.print(str[i]+" ");      //排序后输出
    		}
    	}
    }
    
    运行结果:

    排序前:
    25 12 15 3 56 8 98 552 
    排序后:
    3 8 12 15 25 56 98 552 

    时间复杂度:o(n^2)

    空间复杂度:o(1)

    稳定性:不稳定


    展开全文
  • 排序算法之直接选择排序Java实现

    千次阅读 2018-04-20 13:30:09
    选择排序直接选择排序,堆排序) 交换排序(冒泡排序,快速排序) 插入排序直接插入排序,希尔排序) 归并排序 桶式排序 基数排序 二、直接选择排序的原理 选择排序是一种简单直观的排序算法,它的工作...
  • 基本思想:n个记录的文件的直接选择排序可经过n-1趟直接选择排序得到有序结果 第一次比较:程序将记录定位在数组的第一个位置,拿第一个数据与后面的每个数据对比,用一个变量mix记录比第一个数小的数据的索引,通过...
  • java直接插入排序

    千次阅读 2018-09-02 11:06:43
    直接插入排序,有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序,插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加...
  • 本篇文章介绍直接选择排序算法的JAVA实现。  直接选择排序算法的基本思想是:n个记录的文件的直接选择排序可经过n-1趟直接选择排序得到有序结果:  ①初始状态:无序区为R[1..n],有序区为空。  ②第1趟排序 ...
  • 经过两个月的各种笔试面试,对各种基础排序算法原理了然于胸,用c闭着眼都能写出完美ac的代码来,今天刚看完java的数组,忍不住用java将各种排序实现一遍 注意,这篇文章只是为了锻炼java语法,不会深入讲各种排序...
  • Java常见排序:(一)直接选择排序

    千次阅读 2016-10-06 21:05:54
    常见的一些内部排序算法 排序:常见的也是基础的一些算法。 评价排序算法优劣的标准: 1. 时间复杂度:主要是分析关键字的比较次数和记录的移动次数。 2. 空间复杂度:分析排序算法中需要多少辅助内存。 3. ...
  • //选择当前的数组元素作为最小值,遍历到最后,找到最小的数组元素的索引,和当前位置交换 for (int j = i+1; j ; j++) { if(array[j] [mix]) { mix = j; } } //每趟最多交换一次 if(mix !=...
  • Java八大排序算法之选择排序

    千次阅读 2017-08-20 09:32:00
    Java选择排序之简单选择排序直接贴一个简单的Demopackage com.ysk.xuanze;public class jiandanxuanze { public void slectsort() { int a[] = { 49, 38, 65, 97, 76, 1, 13, 27, 49, 78, 34, 12, 64, 5, 4, 62, ...
  • 欢迎关注微信技术公众号 import java.util.Scanner; public class Sort { /** ...* 2、简单选择排序 * 3、直接插入排序 * 4、快速排序 */ public static void main(String[] args) { System....
  • Java八大排序算法之直接插入排序

    万次阅读 2017-08-20 09:05:41
    插入排序直接插入排序,记录一个简单的demo。package com.ysk.charu;public class zhijiecharu { public void insert() { int a[] = { 49, 38, 65, 97, 76, 1, 13, 27, 49, 78, 34, 12, 64, 5, 4, 62, 99, 98, ...
  • 选择排序直接选择排序

    千次阅读 2015-10-08 22:06:32
    选择排序直接选择排序  直接选择排序思想:第一趟从n个元素的数据序列中选出最小/大的元素放到最前/后的位置,下一趟从n-1个元素中选出最小/大的元素并放到次前/后的位置,如此循环,经过n-1趟完成排序。 序列{38...
  • Java创建单链表并直接选择排序输出

    千次阅读 2015-09-28 00:10:49
    Java也一年左右了,第一次用Java写单链表。。。 废话少说,代码如下: import java.util.Scanner; public class Exp1 { public static void main(String[] args) { Node no = addNode(); P(no); P...
  • 扑克牌相信大家都有玩过,直接插入排序和玩扑克牌很相似,右手抓取一张扑克牌,并把它插入左手拿着的排好序的扑克里面。 如图: 算法介绍: 直接插入排序算法是最简单的算法,也是最基本的算法。SO,...
  • 插入排序 直接插入排序 希尔排序
  • 排序实例 - 直接选择排序, 冒泡排序
  • Java 八大排序算法

    千次阅读 多人点赞 2019-04-30 22:41:08
    数据结构 + 算法 是我们编程的灵魂,其中一个都不能缺少,数据结构我们要掌握的也就那几种,算法也一样,其中排序算法...Java 排序算法 — 直接插入排序 Java 排序算法 — 希尔排序 Java 排序算法 — 简单选择排序 J...
  • JAVA】算法排序(一)——选择排序

    千次阅读 热门讨论 2016-05-07 16:46:39
    一、前言 前文中我们总览了一下所有的排序的算法,下面小编就和给大家分享一下选择排序算法。二 、核心知识点 选择排序的核心思想是我是最大的。 选择排序(Selection sort)是一种简单直观的排序算法。无论是那...
  • java直接插入排序(备忘)

    千次阅读 2009-03-05 14:36:00
    /** * 直接插入排序 * @author ming * */public class InsertSort { /** * @param args */ public static void main(String[] args) { int[] a = {12,3,41,23,6,9,45,23,315,19,0}; Insert
  • 数据结构之排序直接选择排序

    千次阅读 2016-05-02 17:42:14
    选择排序的主要思想是每一趟从待排序序列中...选择排序包括直接选择排序、树形选择排序、堆排序等,此处只讲关于直接选择排序。基本思想首先在所有记录中选出关键字值最小的记录,把它与第一个记录进行位置交换,然后
  • java算法-直接插入排序

    万次阅读 2018-12-03 19:18:00
    话不多说,直接上代码: package sort; public class SortTest { public static void main(String[] args) throws Exception{ int[] d={52, 39, 67, 95, 70, 8, 25, 52}; SeqList seqList=new SeqList(20);...
  • Java—Sort排序

    万次阅读 多人点赞 2018-03-25 16:44:34
    Java中Sort排序是非常常用的方法,这一章我们主要来认识一下Sort的用法和相关的实现。一、数组Sort排序升序排序直接使用Arrays.Sort方法,例如:int[] array = {10, 3, 6, 1, 4, 5, 9}; //正序排序 Arrays.sort...
  • Java实现直接插入排序

    千次阅读 2012-07-26 21:56:58
    直接插入排序是有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序;排序的主要思想是:将有序数存放在数组a中,要插入的数为x,首先要确定x在数组a中的位置p,...
  • 直接选择排序(Bubble Sort)是一种典型的选择排序算法,通过不断选择序列中最大(小)的元素。 一、算法基本思想 (1)基本思想 直接选择排序的基本思想就是:不断从未排序队列中选择最大(小)的元素放...
  • 包括(交换式排序选择排序和插入排序) 外部排序:数据量过大,无法加载到内存中,需要借助外部存储进行排序。包括(合并排序法和直接合并排序法) 3、排序(Sorting)是数据处理中一种很重要的运算,同时也是很...
  • 第二种排序算法:直接插入排序 /** * 插入排序 * 直接插入排序: * 基本思想: * 在要排序的一组数中,假设前面(n-1)[n&amp;amp;amp;amp;gt;=2] 个数已经是排 * 好顺序的,现在要把第n个数插到前面的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 339,265
精华内容 135,706
关键字:

java直接选择排序

java 订阅