有关linux c,归并排序问题

问题描述

有关linux c,归并排序问题

void merge(int a[], int l, int m, int r)
14 {
15 int i, j, k;
16 int b[r+1];
17 for(i = l; i <= r; i++)
18 b[i] = a[i];
19 i = l; j = m + 1; k = l;
20 while(i <= m && j <= r)
21 if(b[i] < b[j]) a[k++] = b[i++];
22 else a[k++] = b[j++];
23 while(i <= m) a[k++] = b[i++];
24 while(j <= r) a[k++] = b[j++];
25 }
26 void mergesort(int a[], int l, int r)
27 {
28 int mid = 0;
29 if(l >= r)
30 return ;
31
32 mid = (l + r) / 2;
33 mergesort(a, l, mid);
34 mergesort(a, mid+1, r);
35 merge(a, l, mid, r);
36 }
我想问的是,就是在在执行完这个函数石merge(a, l, mid, r);,不久结束了吗,怎么就,又返回到mergesort这个函数去了呢,求牛人,指点一下。

时间: 2024-08-24 20:35:58

有关linux c,归并排序问题的相关文章

算法详解之分治法具体实现_C 语言

分治算法的基本思想是将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同.求出子问题的解,就可得到原问题的解. 分治法解题的一般步骤: (1)分解,将要解决的问题划分成若干规模较小的同类问题: (2)求解,当子问题划分得足够小时,用较简单的方法解决: (3)合并,按原问题的要求,将子问题的解逐层合并构成原问题的解. 一言以蔽之:分治法的设计思想是,将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各个击破,分而治之. 在认识分治之前很有必要先了解一下递

Linux系统安全配置详细解析

  1.为LILO增加开机口令 在/etc/lilo.conf文件中增加选项,从而使LILO启动时要求输入口令,以加强系统的安全性.具体设置如下: boot=/dev/hdamap=/boot/mapinstall=/boot/boot.btime-out=60 #等待1分钟promptdefault=linuxpassword=#口令设置image=/boot/vmlinuz-2.2.14-12label=linuxinitrd=/boot/initrd-2.2.14-12.img root=

Linux操作系统的中文输入三剑客浅谈

中文输入三剑客:chinput,minichinput,magicchinput. 大家都知道,大陆的linux汉化主流是用chinput,由于chinput主要被集成在tubrolinux上,把它移到redhat上,需要修改不少地方,还需要pth,unicon-im的支持.对于linux老鸟倒无所谓,但给很多刚接触linux的新手就带来许多困扰,而且chinput还有不少不完善之处,有些大侠在chinput上开发出minichinput和magicchinput,我特意测试了一下,把感受写出来

Linux常用的磁盘管理及文件目录管理命令总结

  磁盘管理 日程磁盘管理中,我们最常用的有查看当前磁盘使用情况,查看当前目录所占大小,以及打包压缩与解压缩; 查看磁盘空间 查看磁盘空间利用大小 代码如下: df -h -h: human缩写,以人类易读方式显示结果(既带单位:比如M/G,如果不加这个参数,显示的数字以B为单位) 代码如下: $df -h /opt/app/todeav/config#df -h Filesystem Size Used Avail Use% Mounted on 代码如下: /dev/mapper/VolGr

企业级Linux服务器安全防护要点

  随着开源系统Linux的盛行,其在大中型企业的应用也在逐渐普及,很多企业的应用服务都是构筑在其之上,例如Web服务.数据库服务.集群服务等等.因此,Linux的安全性就成为了企业构筑安全应用的一个基础,是重中之重,如何对其进行安全防护是企业需要解决的一个基础性问题,基于此,本文将给出十大企业级Linux服务器安全防护的要点. 1.强化:密码管理 设定登录密码是一项非常重要的安全措施,如果用户的密码设定不合适,就很容易被破译,尤其是拥有超级用户使用权限的用户,如果没有良好的密码,将给系统造成很

保护Linux系统安全的四个要点

一.增强安全防护工具 SSH是安全套接层的简称,它是可以安全地用来取代rlogin.rsh和rcp等公用程序的一套程序组.SSH采用公开密钥技术对网络上两台主机之间的通信信息加密,并且用其密钥充当身份验证的工具.由于SSH将网络上的信息加密,因此它可以用来安全地登录到远程主机上,并且在两台主机之间安全地传送信息.实际上,SSH不仅可以保障Linux主机之间的安全通信,Windows用户也可以通过SSH安全地连接到Linux服务器上. 二.保持最新的系统核心 由于Linux流通渠道很多,而且经常有

linux常见命令汇总

1. ls          ls -l -R /home/peidachang   列出/home/peidachang文件夹下的所有文件和目录的详细资料          ls -l t*   列出当前目录中所有以"t"开头的目录的详细内容          ls -l * |grep "^-"|wc -l ---文件个数           ls -sSh 列文件大小大圩排列   2. cd 切换目录   3. pwd 查看当前目录   4. mkdir 创建

如何提高Linux操作系统的安全性

Linux系统不论在功能上.价格上或性能上都有很多优点,但作为开放式操作系统,它不可避免地存在一些安全隐患.关于如何解决这些隐患,为应用提供一个安全的操作平台,本文会告诉你一些最基本.最常用,同时也是最有效的招数,如果是企业用户,这些安全策略应该制定为公司内部的规范,并要求系统管理员或运维人员对其进行有效监控. Linux是一种类Unix的操作系统.从理论上讲,Unix本身的设计并没有什么重大的安全缺陷.多年来,绝大多数在Unix操作系统上发现的安全问题主要存在于个别程序中,所以大部分Unix厂

Linux全栈工程师--传智播客C++公开课之全栈工程师修成记

1.全栈工程师能干什么? 全局性思维,现代项目的开发,需要掌握多种技术.互联网项目,需要用到: 产品设计:ai, CorelDRAW 界面设计:ui ps 前端开发移动优先: ios app(oc/c++) android app(java/c++) Hrbrid app(混合式移动应用) 移动web(html5/javascript) web前端语言:html5, javascript, css3 操作系统:unix, linux web服务器:Nginx, Apache 缓存服务器:Memc