归—并-排-序

#include<stdio.h>
int merge(int unsortedarr[],int lb,int rb,int len,int sortedarr[])
{
    int i=lb,j=rb,k=0;
    while(i<rb&&j<=len)
    {
        if(unsortedarr[i]<unsortedarr[j])
            sortedarr[k++]=unsortedarr[i++];
        else
            sortedarr[k++]=unsortedarr[j++];
    }
    while(i<rb)
       sortedarr[k++]=unsortedarr[i++];
    while(j<=len)
       sortedarr[k++]=unsortedarr[j++];

    for(i=lb,j=0;j<k;i++,j++)
       unsortedarr[i]=sortedarr[j];
     return 0;
}
int mergesort(int arr[],int b,int len,int sarr[] )
{
     int mid;

     if(b<len)
     {
       mid=(b+len)/2;
       mergesort(arr,b,mid,sarr); 

       mergesort(arr,mid+1,len,sarr);

       merge(arr,b,mid+1,len,sarr);
     }

     return 1;
}

int show(int a[],int len)
{
    int i=0;
    for(;i<len;i++)
       printf("%d   ",a[i]);
    printf("\n");
}
int main ()
{
    int a[6]={21,13,1,32,562,15};
    int b[6]={0};

    show(a,6);
    //merge(a,0,1,1,b);
    //mergesort(a,0,1,b);
   // mergesort(a,2,3,b);
     //merge(a,2,3,3,b); 

    // merge(a,0,2,3,b);
    mergesort(a,0,5,b);
    show(a,6);

    getchar();
    return 0;
}
时间: 2024-08-01 13:45:31

归—并-排-序的相关文章

排 序 算 法

一.插入排序(Insertion Sort)1. 基本思想:  每次将一个待排序的数据元素,插入到前面已经排好序的数列中的适当位置,使数列依然有序:直到待排序数据元素全部插入完为止.2. 排序过程: [示例]:[初始关键字] [49] 38 65 97 76 13 27 49    J=2(38) [38 49] 65 97 76 13 27 49    J=3(65) [38 49 65] 97 76 13 27 49    J=4(97) [38 49 65 97] 76 13 27 49 

数据结构--实验5---排序(c)

仅供参考 1 #include "stdio.h" 2 #include "stdlib.h" 3 #include "iomanip.h" 4 #include "time.h" 5 #include "iostream.h" 6 const int N=150000; 7 #define ElemType int 8 void insertsort(ElemType R[],int n) //直接插入排

深入理解CSS中的层叠上下文和层叠顺序(转)

by zhangxinxu from http://www.zhangxinxu.com 本文地址:http://www.zhangxinxu.com/wordpress/?p=5115 零.世间的道理都是想通的 在这个世界上,凡事都有个先后顺序,凡物都有个论资排辈.比方说食堂排队打饭,对吧,讲求先到先得,总不可能一拥而上.再比如说话语权,老婆的话永远是对的,领导的话永远是对的. 在CSS届,也是如此.只是,一般情况下,大家歌舞升平,看不出什么差异,即所谓的众生平等.但是,当发生冲突发生纠葛的时

oracle内存结构

一.内存结构 SGA(System Global Area):由所有服务进程和后台进程共享: PGA(Program Global Area):由每个服务进程.后台进程专有:每个进程都有一个PGA. 二.SGA 包含实例的数据和控制信息,包含如下内存结构: 1)Database buffer cache:缓存了从磁盘上检索的数据块. 2)Redo log buffer:缓存了写到磁盘之前的重做信息. 3)Shared pool:缓存了各用户间可共享的各种结构. 4)Large pool:一个可选

如何用 LaTeX 撰写博士学位论文?

如何用 LaTeX 撰写博士学位论文? 序 一直觉得有必要写这样一篇文章,因为学位论文从格式上说更像一本书,与文章 的排版不同,不仅多出目录等文章没有的部分,而且一般要设置页眉页脚方便阅 读查找.学校有时会提出具体的格式要求,虽然复旦的要求非常简单,而且事实 上并不严格执行,但自己的论文毕竟是自己的孩子,还是要敝帚自珍的,大家都 希望做得漂亮一点. 网上已经有不少学位论文的模板,其中大都出自一两个最初的版本,针对各自学 校的要求作了一些改动.这些模板还是很方便的,如果对它们的排版效果感到完 全满

sort用法

一.sort用法sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出.vim 1.txt 1:datadir=/aaa/zzz:2:basedir=:cc4:datadir=/sdfsfsd:dd3:basedir=/data:gg (1).-r 对分类进行次序或者比较求逆 (2).-u 删除所有复制行 (3).-n 指定分类是域上的数据分类,-n依照数值的大小排序默认是按照ASCII值进行排序,你有没有遇到过10比2小的情况.

外部排序&amp;多路归并排序

外部排序: 一.定义问题 外部排序指的是大文件的排序,即待排序的记录存储在外存储器上,待排序的文件无法一次装入内存,需要在内存和外部存储器之间进行多次数据交换,以达到排序 整个文件的目的.外部排序最常用的算法是多路归并排序,即将原文件分解成多个能够一次性装入内存的部分,分别把每一部分调入内存完成排序.然后,对已经排 序的子文件进行多路归并排序. 二.处理过程 (1)按可用内存的大小,把外存上含有n个记录的文件分成若干个长度为L的子文件,把这些子文件依次读入内存,并利用有效的内部排序方法对它们进行

Python学习笔记——Day5(转载)

python 编码转换 主要介绍了python的编码机制,unicode, utf-8, utf-16, GBK, GB2312,ISO-8859-1 等编码之间的转换. 常见的编码转换分为以下几种情况: 自动识别 字符串编码 可以使用 chardet 模块自动识别 字符创编码 chardet 使用方法 unicode 转换为其它编码(GBK, GB2312等) 例如:a为unicode编码 要转为gb2312.a.encode('gb2312') # -*- coding=gb2312 -*-

learning to rank

Learning to Rank入门小结 + 漫谈 Learning to Rank入门小结 Table of Contents 1 前言 2 LTR流程 3 训练数据的获取4 特征抽取 3.1 人工标注 3.2 搜索日志 3.3 公共数据集 5 模型训练 5.1 训练方法 5.1.1 Pointwise 5.1.2 Pairwise 5.1.3 Listwise 6 效果评估7 参考 6.1 NDCG(Normalized Discounted Cumulative Gain) 6.1.1 定