首页 > 编程语言 >【数据结构和算法实践-排序-归并排序】

【数据结构和算法实践-排序-归并排序】

时间:2024-09-23 23:19:15浏览次数:15  
标签:归并 数据结构 help int arr ++ right 排序 left

数据结构和算法实践-排序-归并排序

题目

排序

My Thought

然后再进行递归,递归要注意两个方面:
一、自我调用
二、终止条件:即函数边界
注意点:树、递归*

代码示例

JAVA-8

    public class MergeSort {


    public static void mergeSort(int arr[]) {
        if (arr == null || arr.length < 2) {
            return;
        }
        process(arr, 0, arr.length - 1);
    }

    public static void process(int arr[], int left, int right) {

        if (left == right) {
            return;
        }
        int mid = (left + right) / 2;
        process(arr, left, mid);
        process(arr, mid, right);
        merge(arr, left, mid, right);

    }

    private static void merge(int[] arr, int left, int mid, int right) {
        int help[] = new int[right - left + 1];
        int i = 0;
        int p1 = left;
        int p2 = right;
        while (p1 <= left && p2 <= right) {
            help[i++] = arr[p1] <= arr[p2] ? arr[p1++] : arr[p2++];
        }
        while (p1 <= left) {
            help[i++] = arr[p1++];
        }
        while (p2 <= right) {
            help[i++] = arr[p2++];
        }
        for (i = 0; i < help.length; i++) {
            arr[left + i] = help[i];
        }

    }

}

标签:归并,数据结构,help,int,arr,++,right,排序,left
From: https://blog.csdn.net/Mao_c/article/details/142288826

相关文章

  • 数据结构 ——— 常见的时间复杂度计算例题(最终篇)
    目录前言例题1:例题2(例题1的延申):例题3:前言在前两章分析了不少常见的时间复杂度计算例题,有固定执行N次的,也有要分情况看待的数据结构———常见的时间复杂度计算例题(上篇)-CSDN博客数据结构———常见的时间复杂度计算例题(中篇)-CSDN博客接下来要分析的是递归算法的......
  • 数据结构与算法——Java实现 12.习题——合并有序链表
    目录21.合并两个有序链表方法1递归思路方法2迭代思路 完整代码结点类方法 人各有所感,角度不同又怎能感同身受                                                ——24.9.2321.合并两个有序链表将两个......
  • 数据结构--第三章 栈和队列
    注:根据严蔚敏等人的数据结构(C语言版)(第二版)记录,用于自己的复习记录。栈栈是限定仅在表尾进行插入和删除的线性表。表尾端称为栈顶,表头端称为栈底。不含元素的空表称为空栈。栈是后进先出的线性表。一、顺序栈的表示和实现顺序栈指的是利用顺序存储结构实现的栈,即利用一组连......
  • 数据结构--第二章 线性表
    注:根据严蔚敏等人的数据结构(C语言版)(第二版)记录,用于自己的复习记录。线性结构特点:除第一个元素无直接前驱,最后一个元素无直接后继外,其他每个数据元素都有一个前驱和一个后继。线性表的定义和特点线性表是最基本且最常用的一种线性结构。线性表:由()个数据特性相同的元素构成......