JAVA排序--[选择排序]】的更多相关文章

一:冒泡法排序  //冒泡排序 注:从小到大排   //特点:效率低,实现简单  //思想:每一趟将待排序序列中最大元素移到最后,剩下的为新的待排序序列,重复上述步骤直到排完所有元素. 这只是冒泡排序的一种,当然也可以从后往前排. 算法步骤 比较相邻的元素.如果第一个比第二个大,就交换他们两个. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对.这步做完后,最后的元素会是最大的数. 针对所有的元素重复以上的步骤,除了最后一个. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数…
//排序 选择排序 数组中每个元素都进行比较 public class Test { public static void main(String[] args) { int[] arr = {12,69,852,25,89,588}; selectS(arr); printS(arr); } public static void printS(int[] arr){ for (int i = 0; i < arr.length; i++) { System.out.println(arr[i]…
跳跃空间(链表)排序 选择排序(selection sort),插入排序(insertion sort) 选择排序(selection sort) 算法原理:有一筐苹果,先挑出最大的一个放在最后,然后再跳出一个筐里剩下的最大的一个,放在刚才跳出来的最大的前面,以此类推,最后就排好顺序了. 代码: //从起始于位置p的n个元素中选出最大者,所以n>1 template<typename T> ListNode<T>* List<T>::selectMax(ListN…
选择排序思想就是选出最小或最大的数与第一个数交换,然后在剩下的数列中重复完成该动作. package Sort; import java.util.Arrays; public class SelectionSort { public static int selectMinKey(int[] list, int beginIdx) { int idx = beginIdx; int temp = list[beginIdx]; for(int i = beginIdx; i < list.le…
package com.array; public class Sort_Select { /** * 项目名称:选择排序 ; * 项目要求:用JAVA对数组进行排序,并运用选择排序算法; * 作者:Sevck; */ public void sort(int arr[]) { int temp = 0; for (int j = 0; j < arr.length - 1; j++) { int min = arr[j];//我认为第一个数最小 int minIndex = j;//记录最小数…
1 选择排序  原理:a 将数组中的每个元素,与第一个元素比较          如果这个元素小于第一个元素, 就将这个         两个元素交换.       b 每轮使用a的规则, 可以选择出一个最小元素        放到第一个位置.       c 经过n-1轮比较完成排序   简单说: 每轮选择最小的放到前面.        2 冒泡排序  原理: a 逐一比较数组中相邻的两个元素, 如果后面         的数字小于前面的数字, 就交换先后元素.       b 经过一个轮次的…
材料:猴子排序,按照身高来从小到大来排序. 第一关: 老猴子带领小猴子队伍按大小逐一比较,交换,开始高矮排列队伍.(冒泡排序) 第二关: 太慢了,给第一关增加难度,进行选择排序 第三关: 最后,尝试选择用插入排序法,来进行排序. 测试类: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; //功能:猴子排序 public class MonkeySelect {…
编写程序,实现将输入的字符串转换为一维数组,并使用选择排序法对数组进行排序. 思路如下: 点击"生成随机数"按钮,创建Random随机数对象: 使用JTextArea的setText()方法清空文本域: 创建一个整型一维数组,分配长度为10的空间: 初始化数组元素,使用Random类的nextInt()方法生成50以内的随机数,使用JTextArea类的append()方法把数组元素显示在文本域控件中: 点击"排序"按钮,使用JTextArea类的setText()…
import java.util.Arrays; public class ArrayDemo2_3 { public static void main(String []args) { //-----------------------冒泡排序 int[] num1 = new int[]{2,6,7,9,8,3,1,10}; for(int i= 0;i<num1.length;i++) { for(int j = 0;j<num1.length-1-i;j++) { if(num1[j]…
简单选择排序:(选出最小值,放在第一位,然后第一位向后推移,如此循环)第一位与后面每一个逐个比较,每次都使最小的置顶,第一位向后推进(即刚选定的第一位是最小值,不再参与比较,比较次数减1) 复杂度: 所需进行记录移动的操作次数较少 0--3(n-1) ,无论记录的初始排列如何,所需的关键字间的比较次数相同,均为n(n-1)/2,总的时间复杂度为O(n2):空间复杂度 O(1) 算法改进:每次对比,都是为了将最小的值放到第一位,所以可以一比到底,找出最小值,直接放到第一位,省去无意义的调换移动操作…