文档章节

算法导论学习 之 分治排序

YYQ_ZJL
 YYQ_ZJL
发布于 2016/07/03 10:34
字数 179
阅读 6
收藏 0

code:

#include<iostream>
#include<vector>
#include<map>
using namespace std;
void Merge(int* a,int l,int m,int r)
{
    int b[11],c[11];
    int i,j,lb,lc,tb,tc;
    lb = m - l + 1;
    lc = r - m;
    for(j = 0;j < lb;j++)
        b[j] = a[j+l];
    b[j] = 2147483647;
    for(j = 0;j < lc;j++)
        c[j] = a[m+1+j];
    c[j] = 2147483647;
    tb = tc  = 0;
    for(i = l;i <= r;i ++)
    {
        if(b[tb] <= c[tc]){
            a[i] = b[tb];
            tb ++;
        }
        else if(b[tb] >c[tc]){
            a[i] = c[tc];
            tc ++;
        }
    }
}
void Merge_Sort(int* a,int l,int r)
{
    if(l < r){
        int m = (l + r)/2;
        Merge_Sort(a,l,m);
        Merge_Sort(a,m+1,r);
        Merge(a,l,m,r);
    }
}
int main(void)
{
    int a[10],i;
    int a_end,a_begin;
    a_begin = 0;
    a_end = 9;
    for(i = 0;i < 10;i ++)
        cin >> a[i];
    Merge_Sort(a,a_begin,a_end);
    for(i = 0;i <= a_end;i ++)
        cout << a[i] << " ";
    cout << endl;
    return 0;
}

 

本文转载自:http://www.cnblogs.com/zhangjialu2015/p/5257545.html

YYQ_ZJL
粉丝 0
博文 30
码字总数 206
作品 0
杭州
其他
私信 提问
视频 | 手撕九大经典排序算法,看我就够了!

视频 | 手撕九大经典排序算法,看我就够了! { } { } { } void countSort(int arr[], int n, int exp){ } void radixsort(int arr[], int n){ } { } { } void mergeSort(int arr[], int l, ......

力扣(LeetCode)
02/05
0
0
跟我一起学 - 算法导论 - 快速排序

# 快排 和 分治 很像 都是分而治之 ,但他们却是 相反的 方式排序 : 分治 是想拆分完成后,合并以有序的小段进行 排序 ,而快排是直接由原始的“拆分”来排序 。 #encoding=utf-8 #从 大 到...

walb呀
2017/12/07
0
0
分治法,动态规划及贪心算法感悟

分治法,动态规划法,贪心算法这三者之间有类似之处,比如都需要将问题划分为一个个子问题,然后通过解决这些子问题来解决最终问题。但其实这三者之间的区别还是蛮大的。 1.分治法 分治法(d...

努力的C
2017/10/16
0
0
[转]常用算法:分治,贪心,动态规划

分治法,动态规划法,贪心算法这三者之间有类似之处,比如都需要将问题划分为一个个子问题,然后通过解决这些子问题来解决最终问题。但其实这三者之间的区别还是蛮大的。 1. 分治法 分治法(...

HongYu
2015/01/05
0
0
玩转算法面试:(一)什么是算法面试?

前言 对于面试中遇到的大多数问题 都能有一个合理的思考路径 沟通: 边界条件是怎样的? 数据范围如何? 某些术语是具体如何定义的? 基础数据结构 算法设计思想: 递归分治 贪心 动态规划 ...

天涯明月笙
2017/09/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

java通过ServerSocket与Socket实现通信

首先说一下ServerSocket与Socket. 1.ServerSocket ServerSocket是用来监听客户端Socket连接的类,如果没有连接会一直处于等待状态. ServetSocket有三个构造方法: (1) ServerSocket(int port);...

Blueeeeeee
23分钟前
4
0
用 Sphinx 搭建博客时,如何自定义插件?

之前有不少同学看过我的个人博客(http://python-online.cn),也根据我写的教程完成了自己个人站点的搭建。 点此:使用 Python 30分钟 教你快速搭建一个博客 为防有的同学不清楚 Sphinx ,这...

王炳明
昨天
4
0
黑客之道-40本书籍助你快速入门黑客技术免费下载

场景 黑客是一个中文词语,皆源自英文hacker,随着灰鸽子的出现,灰鸽子成为了很多假借黑客名义控制他人电脑的黑客技术,于是出现了“骇客”与"黑客"分家。2012年电影频道节目中心出品的电影...

badaoliumang
昨天
13
0
很遗憾,没有一篇文章能讲清楚线程的生命周期!

(手机横屏看源码更方便) 注:java源码分析部分如无特殊说明均基于 java8 版本。 简介 大家都知道线程是有生命周期,但是彤哥可以认真负责地告诉你网上几乎没有一篇文章讲得是完全正确的。 ...

彤哥读源码
昨天
13
0
jquery--DOM操作基础

本文转载于:专业的前端网站➭jquery--DOM操作基础 元素的访问 元素属性操作 获取:attr(name);$("#my").attr("src"); 设置:attr(name,value);$("#myImg").attr("src","images/1.jpg"); ......

前端老手
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部