国内最专业的IT技术学习网

UI设计

当前位置:主页 > UI设计 >

常用排序算法总结

发布时间:2019/09/17标签:   数列    点击量:

原标题:常用排序算法总结
概述在盘算器迷信与数学中,一个排序算法(英语:Sorting algorithm)是一种能将一串数据按照特定排序方法停止陈列的一种算法。本文将总结几类罕用的排序算法,包含冒泡排序、抉择排序、拔出排序、疾速排序和合并排序,分辨应用Java代码完成,扼要应用图例方法先容实在现道理。算法道理及完成1、冒泡排序 道理图 懂得经过反复地遍历要排序的列表,比拟每对相邻的名目,并在次序过错的情形下交流它们。 Java CodepublicclassBubbleSort{//logictosorttheelementspublicstaticvoidbubble_srt(intarray[]){intn=array.length;intk;for(intm=n;m>=0;m--){for(inti=0;i<n-1;i++){k=i+1;if(array[i]>array[k]){swapNumbers(i,k,array);}}printNumbers(array);}}privatestaticvoidswapNumbers(inti,intj,int[]array){inttemp;temp=array[i];array[i]=array[j];array[j]=temp;}privatestaticvoidprintNumbers(int[]input){for(inti=0;i<input.length;i++){System.out.print(input[i]+",");}System.out.println("\n");}publicstaticvoidmain(String[]args){int[]input={4,2,9,6,23,12,34,0,1};bubble_srt(input);}}2、抉择排序 道理图 懂得外部轮回查找下一个最小(或最大)值,内部轮回将该值放入其恰当的地位。 Java CodepublicclassSelectionSort{publicstaticint[]doSelectionSort(int[]arr){for(inti=0;i<arr.length-1;i++){intindex=i;for(intj=i+1;j<arr.length;j++)if(arr[j]<arr[index])index=j;intsmallerNumber=arr[index];arr[index]=arr[i];arr[i]=smallerNumber;}returnarr;}publicstaticvoidmain(Stringa[]){int[]arr1={10,34,2,56,7,67,88,42};int[]arr2=doSelectionSort(arr1);for(inti:arr2){System.out.print(i);System.out.print(",");}}}冒泡排序和抉择排序的差别1、冒泡排序是比拟相邻地位的两个数,而抉择排序是按次序比拟,找最大值或许最小值;2、冒泡排序每一轮比拟后,地位错误都须要换地位,抉择排序每一轮比拟都只要要换一次地位;3、冒泡排序是经过数去找地位,抉择排序是给定地位去找数。3、拔出排序 道理图 懂得每一步将一个待排序的记载,拔出到后面曾经排好序的有序序列中去,直到插完全部元素为止。 Java CodepublicclassInsertionSort{publicstaticvoidmain(Stringa[]){int[]arr1={10,34,2,56,7,67,88,42};int[]arr2=doInsertionSort(arr1);for(inti:arr2){System.out.print(i);System.out.print(",");}}publicstaticint[]doInsertionSort(int[]input){inttemp;for(inti=1;i<input.length;i++){for(intj=i;j>0;j--){if(input[j]<input[j-1]){temp=input[j];input[j]=input[j-1];input[j-1]=temp;}}}returninput;}}

版权信息Copyright © 银河官网 版权所有    ICP备案编号:鲁ICP备09013610号