您现在的位置是:主页 > news > 工伤做实的那个网站/网页入口网站推广

工伤做实的那个网站/网页入口网站推广

admin2025/6/9 17:39:06news

简介工伤做实的那个网站,网页入口网站推广,百度手机网页,潍坊网页推广制作归并排序是使用递归的方法把一个数组分割成最小的单元,然后在合并成一个数组。 在数据量较大时归并排序的效率比简单排序的效率要高,逻辑也不太复杂。下面是完整的归并排序方法类 package com.brave.guib; /*** 归并排序完整版* * 归并排序是将要排序的数…

工伤做实的那个网站,网页入口网站推广,百度手机网页,潍坊网页推广制作归并排序是使用递归的方法把一个数组分割成最小的单元,然后在合并成一个数组。 在数据量较大时归并排序的效率比简单排序的效率要高,逻辑也不太复杂。下面是完整的归并排序方法类 package com.brave.guib; /*** 归并排序完整版* * 归并排序是将要排序的数…

归并排序是使用递归的方法把一个数组分割成最小的单元,然后在合并成一个数组。

在数据量较大时归并排序的效率比简单排序的效率要高,逻辑也不太复杂。下面是完整的归并排序方法类

package com.brave.guib;
/*** 归并排序完整版* * 归并排序是将要排序的数组进行分割,直到分割为最小的单元,* 即一个数组中只有一个元素,然后将有序数组重组成一个数组* @author 小二郎,上学堂**/
public class Guib {private int[] arr;//数组private int num;//计数public Guib(int max) {arr = new int[max];num = 0;}//插入方法public void insert(int val){arr[num++] = val;}//循环打印public void display(){for (int i = 0; i < arr.length; i++) {System.out.print(arr[i] + "\n");}}//排序方法public void mergeSort(){int[] workSpace = new int[num];recMergeSort(workSpace, 0, num-1);}//递归调用方法private void recMergeSort(int[] workSpace,int lowerB,int upperB){if(lowerB == upperB) return;else{int mid = (lowerB + upperB)/2;recMergeSort(workSpace, lowerB, mid);recMergeSort(workSpace, mid + 1, upperB);merge(workSpace, lowerB, mid+1, upperB);}}//合并两个有序数组的方法private void merge(int[] workSpace,int lower,int upper,int upperB){int j = 0;int lowerB = lower;int mid = upper - 1;int n = upperB - lowerB + 1;while(lower <=mid && upper <= upperB){workSpace[j++] = (arr[lower] < arr[upper]?arr[lower++]:arr[upper++]);}while(lower <= mid)workSpace[j++] = arr[lower++];while(upper <= upperB)workSpace[j++] = arr[upper++];for ( j = 0; j < n; j++) {arr[lowerB + j] = workSpace[j];}}}

希望能够通过这些代码帮助大家更好的理解归并排序

转载于:https://www.cnblogs.com/zbrave/p/6243314.html