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

    2019-11-04 15:15:43
    * 选择排序 1.初始状态:序列为无序状态。 2.第1次排序:从n个元素中找出最小(大)元素与第1个记录交换 3.第2次排序:从n-1个元素中找出最小(大)元素与第2个记录交换 4.第i次排序:从n-i+1个元素中找出最小(大...
    public class SelectSort {
    	/*
    	 * 选择排序
    	 1.初始状态:序列为无序状态。
         2.第1次排序:从n个元素中找出最小(大)元素与第1个记录交换
         3.第2次排序:从n-1个元素中找出最小(大)元素与第2个记录交换
         4.第i次排序:从n-i+1个元素中找出最小(大)元素与第i个记录交换
         5.以此类推直到排序完成
    	 */
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		int[] arr = new int[]{3,2,5,-1,12,-56,32,-24,11,5};
    		sort(arr);
    		printArr(arr);
    	}
    	
    	public static void sort(int[] arr) {
    		for (int i = 0; i < arr.length; i++) {
    			int mixindex = i;
    			for(int j = i; j< arr.length;j++ ) {
    				if (arr[j] < arr[mixindex]) {
    					mixindex = j;
    				}
    			}
    			swap(arr,mixindex,i);
    		}
    	}
    	
    	public static void printArr(int[] arr) {
    		for (int i : arr) {
    			System.out.print(i + " ");
    		}
    	}
    	public static void swap(int[] arr,int a,int b) {
    		int temp = arr[a];
    		arr[a] = arr[b];
    		arr[b] = temp;
    	}
    }
    
    展开全文
  • 选择排序法 Java实现

    千次阅读 2017-12-14 16:46:10
    public class Main extends Object { public static void main(String[]args) { int[] data = {6,5,9,7,2,8};... System.out.println("选择排序法: "); System.out.println("原始数据为: ");
    public class Main extends Object {
        public static void main(String[]args) {
            int[] data = {6,5,9,7,2,8};
            System.out.println("选择排序法: ");
            System.out.println("原始数据为: ");
            //遍历数组
            for(int i = 0; i < data.length; i++) {
                System.out.print(data[i] + " ");
            }
            System.out.print("\n");
            //选择排序
            selectSort(data);
        }
        static void selectSort(int[] data) {
            int temp;
            for(int i = 0; i < data.length; i++) {
                for(int j = i; j < data.length; j++) {
                    if(data[j] < data[i]) {
                        temp = data[i];
                        data[i] = data[j];
                        data[j] = temp;
                    }
                }
                System.out.print("第" + (i + 1) +"次排序结果为: ");
                //输出本次排序后的结果
                for(int k = 0; k < data.length; k++) {
                    System.out.print(data[k] + " ");
                }
                System.out.print("\n");
            }
        }
    }
    展开全文
  • 最近作业中老师要求,定义一个有100位元素的数组,要求给数组排序,通过冒泡和选择排序法实现。在这里我整理了这两种算法,不过为了清楚,我使用了随机数生成了8位元素的数组,进行排序和输出。 public class ...

       最近作业中老师要求,定义一个有100位元素的数组,要求给数组排序,通过冒泡和选择排序法实现。在这里我整理了这两种算法,不过为了清楚,我使用了随机数生成了8位元素的数组,进行排序和输出。

    public class Paixu_both {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
         int[] arr=new int[8];
      //定义 随机数 对象   
        Random rand = new Random();
        int temp=0;
    	maopaosx(arr,rand,temp); //冒泡排序
    	
        xuanzesx(arr,rand,temp); //选择排序
    
    	}
    public static void maopaosx(int[] arr,Random rand,int temp ) {
    
    	 for (int i = 0; i < arr.length; i++) {
    			arr[i]=rand.nextInt(100); //定义  [0,500)之内的随机数  
    		
    		}
    	//冒泡排序 :  就是两两排序。所以先定义  外排序的次数   要是  数组长度-1, 因为数据的最后一项不用比较,第一次冒泡排序就已经把最大项移到了最后面。
    	 //因为每次进行一轮冒泡排序,最后一个值都会被确定,所以循环次数以第一次 循环的数组元素-1 为准
    	     for(int i = 0;i<arr.length-1;i++){
    	         //内层循环,开始逐个比较
    	         //如果我们发现前一个数比后一个数大,则交换
    	         for(int j=0;j<arr.length-1-i;j++){  //冒泡比较是两两比较  所以循环次数是 arr.length-1;内部循环完成  就会有最后一位数字固定 所以 length-1-i
    	             if (arr[j]>arr[j+1]) {   //
    	                 //换位
    	                 temp = arr[j];
    	                 arr[j] = arr[j+1];
    	                 arr[j+1] = temp;
    	             }
    	         }
    
    	     }
    	     //输出结果
    	     for(int i = 0;i<arr.length;i++){
    	    	 if (i==0) {
    	    		 System.out.print("冒泡法 :  [ "+arr[i]+",");
    			}else if (i==arr.length-1) {
    				 System.out.print(arr[i]+" ]");
    				 System.out.println();
    			}else {
    				    System.out.print(arr[i]+",");
    			}
    	     
    	     }
    }
    
    public static void xuanzesx(int[] arr,Random rand,int temp) {
    	// 选择排序法 就是   数组角标值 的对比
    	 for (int i = 0; i < 1; i++) {
    			arr[i]=rand.nextInt(500);
    		
    		}
    	  //最后一个数不能自己比较  所以  length-1  	 
         for(int j = 0; j<arr.length-1;j++){
             //最小值:假设第一个数就是最小的
             int min = arr[j];
             //记录最小数的下标的
             int minIndex=j;
    
             //内循环  从i=2开始     一直比到最后的元素,
             for(int k=j+1;k<arr.length;k++){
                 //找到最小值
                 if (min>arr[k]) {
                     //修改最小
                     min=arr[k];
                     minIndex=k;
                 }
             }
             //当退出内层循环就找到这次的最小值
             //交换位置
             temp = arr[j];
             arr[j]=arr[minIndex];
             arr[minIndex]=temp;
         }
         //输出结果
         for(int i = 0;i<arr.length;i++){
        	 if (i==0) {
        		 System.out.print("选择法:   [ "+arr[i]+",");
    		}else if (i==arr.length-1) {
    			 System.out.print(arr[i]+" ]");
    			 System.out.println();
    		}else {
    			    System.out.print(arr[i]+",");
    		}
         }
    
     }
    
    
    
    
    }

    最后输出结果:

     

    展开全文
  • java 选择排序法

    2010-06-18 16:54:13
    java 选择排序法 java 选择排序法 java 选择排序法
  • Java 选择排序法 ...
    展开全文
  • 主要介绍了Java冒泡排序法和选择排序法的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 选择排序法选择排序法是一种不稳定的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已...
  • 选择排序法-java

    2018-11-23 16:38:53
    选择式排序也属于内部排序法,是从欲排序的数据中,按照指定的规则选出某一元素,经过和其他元素的重整,再依据原则交换位置后达到排序的目的。 选择式排序又可以分为两种: 选择排序(Selection Sort) 堆排序...
  • Java 选择排序法

    万次阅读 多人点赞 2018-05-01 20:43:12
     选择排序原理即是,遍历元素找到一个最小(或最大)的元素,把它放在第一个位置,然后再在剩余元素中找到最小(或最大)的元素,把它放在第二个位置,依次下去,完成排序。 时间复杂度  选择排序的时间复杂度为...
  • 如果使用冒泡排序进行两两相邻比较,第一趟排序后的结果如下: 13、15、24、4、1、99 第二趟排序后的结果如下: 13、15、4、1、24、99 第三趟排序后的结果如下: 13、4、1、15、24、99 第四趟排序后的...
  • //选择排序法,和冒泡排序法(java) package javaapplication4; public class JavaApplication4{ static int count1=0; static int count2=0; public static void main(String[] args){ int []array={49,38...
  • Java冒泡排序法和选择排序法

    万次阅读 多人点赞 2017-06-03 02:18:31
    冒泡排序法和选择排序法冒泡排序法概念: 从前向后(或从后向前)依次比较相邻的元素,若发现逆顺序,则交换。小的向前换,大的向后换,像水底的气泡逐渐向上冒,顾名思义冒泡排序法。 通俗一点就是把大的往上挪!...
  • java 冒泡排序法、直接排序法、选择排序法 一、冒泡排序法 算法原理 a.比较相邻的元素。如果第一个比第二个大,就交换他们两个。 b.对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后...
  • 1.快速排序的原理: 选择一个关键值作为基准值。比基准值小的都在左边序列(一般是无序的),比基准值大的都在右边(一般是无序的)。 从后往前比较,用基准值和最后一个值比较,如果比基准值小的交换位置,如果...
  • Java数组选择排序法

    2020-12-04 18:46:12
    选择排序是算法排序中比较常见的一种数组排序方法,上次说过的冒泡排序,冒泡排序的方式是通过定位交换从大到小进行逐个依次交换来排序,他跟选择排序法是有一定的区别的。 首先我说一下选择排序的原理大概是:通过...
  • 选择排序法java

    2021-03-17 20:34:05
    选择排序法 介绍: 从长度为n的序列中,找到最小的数字,将这个数字放到指定的位置,执行n-1次,实现排序。 思路: 一共有n-1轮排序(数组大小为n) 每一轮排序都是一个循环 假定当前数字为最小值 这个数与后面的...
  • 主要介绍了Java使用选择排序法对数组排序实现代码,需要的朋友可以参考下
  • 选择排序法核心思想是,第一次从R[0] ~R[n-1]中选择最小值然后与R[0]交换,第二次从R[1] ~R[n-1]中选取最小值与R[1]交换………第i次呢就是从R[i-1] ~R[n-1]中选取最小值,与R[i-1]元素交换;对于一个含有n个元素的...
  • Java实现选择排序法

    2020-02-05 11:41:48
    Java实现选择排序法 萌新第一次发博客,为了提高自己的编程兴趣,接下来会发一系列的博客,根据自己 的理解,用Java实现一些比较简单的算法。 选择排序法的原理: 现在有一组未排序的数:{5,7,9,2,1,3,4,0,8,6},...
  • java选择排序法

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

    2018-01-02 19:05:29
    Java中的选择排序法
  • 选择排序法Java实现

    2018-03-09 13:47:00
    选择法排序的基本思想是首先从待排序的n个数中找出最小的一个与array[0]对换;再将array [1]到array [n]中的最小数与array [1]对换,依此类推。每比较一轮,找出待排序数中最小的一个数进行交换,共进行n-1次交换便...
  • java实现选择排序法

    2020-07-30 20:59:04
    重要的事情一直说:多练手速 import java.util.Arrays; /** * @author: Ren * @date: 2020-07-28 16:07 */ public class C13 { public static void main(String[] args) { ... * 选择排序法: *
  • 初学java:选择排序法

    2017-10-27 16:36:23
    选择排序法
  • Java选择排序法

    2020-03-31 15:04:35
    思路:每次遍历一遍数组,找到最大值,并记录其下标。然后内循环结束后将其下标对应的值与数组top上的值交换,然后top-1; public static int[] soft(int[] arr){ for(int top=arr.length-1;top>...
  • 选择排序法选择排序法原理 对于一个无序数组,将其排列成为一个有序数组。选出最小的一个数与第一个位置的数交换;然后在剩下的数当中再找最小的与第二个位置的数交换。如此循环到倒数第二个数和最后一个数...

空空如也

空空如也

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

选择排序法java

java 订阅