一:冒泡法排序  //冒泡排序 注:从小到大排   //特点:效率低,实现简单  //思想:每一趟将待排序序列中最大元素移到最后,剩下的为新的待排序序列,重复上述步骤直到排完所有元素. 这只是冒泡排序的一种,当然也可以从后往前排. 算法步骤 比较相邻的元素.如果第一个比第二个大,就交换他们两个. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对.这步做完后,最后的元素会是最大的数. 针对所有的元素重复以上的步骤,除了最后一个. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数…
跳跃空间(链表)排序 选择排序(selection sort),插入排序(insertion sort) 选择排序(selection sort) 算法原理:有一筐苹果,先挑出最大的一个放在最后,然后再跳出一个筐里剩下的最大的一个,放在刚才跳出来的最大的前面,以此类推,最后就排好顺序了. 代码: //从起始于位置p的n个元素中选出最大者,所以n>1 template<typename T> ListNode<T>* List<T>::selectMax(ListN…
//排序 选择排序 数组中每个元素都进行比较 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]…
1.鸡尾酒排序算法 源程序代码: package com.SuanFa; public class Cocktial {    public static void main(String[] args) {        // TODO Auto-generated method stub        cooktailSort cook=new cooktailSort();        int[] A={1,2,3,8,4,0,5,34,12,67,35,9,45,443,454,242…
一直到大四才开始写自己的第一篇博客,说来实在有点羞愧.今天写了关于排序的算法题,有插入排序,冒泡排序,选择排序,以下贴上用JAVA实现的代码: public class test5 { public static void print(int []array) //输出数组方法 { for(int i=0;i<array.length;i++) System.out.print(" "+array[i]); } public static void selectsort(int…
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 {…
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) 算法改进:每次对比,都是为了将最小的值放到第一位,所以可以一比到底,找出最小值,直接放到第一位,省去无意义的调换移动操作…
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;//记录最小数…