当前位置: 首页 > 后端技术 > Java

Java常用排序算法

时间:2023-04-01 15:36:11 Java

算法实现直接插入排序publicstaticvoidinsertSort(){for(inti=1;i=0;j--){if(array[j]>tempdata){array[j+1]=array[j];}else{休息;}}数组[j+1]=临时数据;}}希尔排序publicstaticvoidshellSort(){intd=array.length;while(true){d=d/2;for(intx=0;x=0&&array[j]>temp;j=j-d){array[j+d]=array[j];}数组[j+d]=温度;}}如果(d==1){休息;}}}冒泡排序publicstaticvoidbubbleSort(){inttemp;intsize=array.length;for(inti=0;iarray[j+1])//交换两个位置{temp=array[j];数组[j]=数组[j+1];数组[j+1]=温度;}}}}简单选择排序publicstaticvoidsimpleChooseSort(){//数组长度intlen=array.length;for(inti=0;i(array[j])){位置=j;}//endif}//endfor//交换最小数array[position]和第i位数字位置inttemp=array[i];数组[i]=数组[位置];数组[位置]=温度;}//endfor}快速排序publicstaticvoidquickSort(int[]array,intstart,intend){if(startbaseNum)&&j>start){j--;}if(i<=j){midNum=array[i];数组[i]=数组[j];数组[j]=中间数;我++;j--;}}while(i<=j);如果(开始i){quickSort(array,i,end);}}}合并排序staticclassMergSort{privatestaticvoidmerge(int[]a,intlow,intmid,inthigh){int[]temp=newint[high-low+1];inti=low;//左指针intj=mid+1;//右指针intk=0;//首先将较小的数字移动到新数组while(i<=mid&&j<=high){if(a[i]