好友
阅读权限30
听众
最后登录1970-1-1
|
本帖最后由 QingYi. 于 2021-1-22 21:03 编辑
代码1:
sort的区间是[l r]
merge的区间是 [l mid] [mid+1,r]
[Java] 纯文本查看 复制代码 public class mergeSort { static int[] t;
public static void main(String[] args) {
int[] arr = {1, 3, 5, 2, 4, 8, 6, 7};
int n = arr.length;
t = new int[n];
sort(arr, 0, n - 1);
for (int i : arr) {
System.out.print(i + " ");
}
}
private static void sort(int[] arr, int l, int r) {
if (l >= r) {
return;
}
int mid = l + r >> 1;
sort(arr, l, mid);
sort(arr, mid + 1, r);
merge(arr, l, mid, r);
}
private static void merge(int[] arr, int l, int mid, int r) {
System.arraycopy(arr, l, t, l, r - l + 1);
int i = l, j = mid + 1;
for (int k = l; k <= r; k++) {
if (i > mid) {
arr[k] = t[j++];
} else if (j > r) {
arr[k] = t[i++];
} else if (t[i] <= t[j]) {
arr[k] = t[i++];
} else {
arr[k] = t[j++];
}
}
}
}
代码2:
sort的区间是[l r)merge的区间是 [l mid) [mid+1,r)
[Asm] 纯文本查看 复制代码 public class mergeSort {
static int[] t;
public static void main(String[] args) {
int[] arr = {1, 3, 5, 2, 4, 8, 6, 7};
int n = arr.length;
t = new int[n];
sort(arr, 0, n );
for (int i : arr) {
System.out.print(i + " ");
}
}
private static void sort(int[] arr, int l, int r) {
if (r-l<=1) {
return;
}
int mid = l + r >> 1;
sort(arr, l, mid);
sort(arr, mid , r);
merge(arr, l, mid, r);
}
private static void merge(int[] arr, int l, int mid, int r) {
System.arraycopy(arr, l, t, l, r - l );
int i = l, j = mid ;
for (int k = l; k < r; k++) {
if (i >= mid) {
arr[k] = t[j++];
} else if (j >= r) {
arr[k] = t[i++];
} else if (t[i] <= t[j]) {
arr[k] = t[i++];
} else {
arr[k] = t[j++];
}
}
}
}
在新标签打开所有链接复制所有链接URL复制所有链接URL(反向)复制所有链接标题 + URL复制所有链接标题 + URL (MD)复制所有链接标题 + URL (BBS)复制所有链接标题 + URL (筛选)复制所有链接标题 + URL (设置复制格式)在新标签页打开所有图片链接在一个标签页显示所有图片链接
复选框 - 选中
复选框 - 取消
复选框 - 反选
单选框 - 选中
单选框 - 取消
特殊单选框 - 选中
在新标签打开所有链接复制所有链接URL复制所有链接URL(反向)复制所有链接标题 + URL复制所有链接标题 + URL (MD)复制所有链接标题 + URL (BBS)复制所有链接标题 + URL (筛选)复制所有链接标题 + URL (设置复制格式)在新标签页打开所有图片链接在一个标签页显示所有图片链接
复选框 - 选中
复选框 - 取消
复选框 - 反选
单选框 - 选中
单选框 - 取消
特殊单选框 - 选中 |
|