内部排序算法

排序算法按照元素所在的位置可以分为内部排序(internal sort)和外部排序(external sort)。这里我们讨论的都是内部排序算法,即整个排序工作都能够在内存中完成。且约定需要排序的数组中元素个数为N。1. 插入排序插入排序(insertion sort)是最简单的排序算法之一,其特性如下:插入排序由N-1趟(pass)排序组成;在第P趟,我们将位置P上的元素向左移动到它在前P...

Locale的概念及setlocale函数

1. 什么是计算机的Locale关于locale我不知道该怎么样翻译(直译就是地区、地域)才算准确,干脆就叫locale吧,反正它与我们的操作系统的语言环境有着很大的关系。Locale 是软件在运行时的语言环境, 它包括语言(Language), 地域 (Territory) 和字符集(Codeset)。一个locale的书写格式为: 语言_地域.字符集,比如en_US.UTF-8、zh_C...

命令行参数解析函数getopt及getopt_long介绍

1. getopt介绍getopt函数主要用来解析命令行参数,getopt族的函数原型如下:#include <unistd.h> int getopt(int argc, char * const argv[], const char *optstring); extern char *optarg; extern int optind, opterr,...

Linux信号应用之黑匣子程序设计(下)

1. Bug分析在《Linux信号应用之黑匣子程序设计(上)》一文中,我们实现了一个黑匣子程序——在进程崩溃后,可以保存进程的调用栈。但是,在文章结尾我们说程序有bug,那bug是什么呢?先看下面一个程序:#include <stdio.h> #include <string.h> #include <stdlib.h> #include <s...

Linux信号应用之黑匣子程序设计(上)

1. 何为黑匣子程序及其必要性飞机上面的黑匣子用于飞机失事后对事故的时候调查,同理,程序的黑匣子用于程序崩溃后对崩溃原因进程定位。其实Linux提供的core dump机制就是一种黑匣子(core文件就是黑匣子文件)。但是core文件并非在所有场景都适用,因为core文件是程序崩溃时的内存映像,如果程序使用的内存空间比较大,那产生的core文件也将会非常大,在64bit的操作系统中,该现象更...

递归程序是把双刃剑

在我原来的概念里,递归程序是简洁、巧妙、高效的代名词,但是读了《Data Structure And Algorithm Analysis in C》之后,我才发现原来自己之前的认识是错误的,至少递归程序不总是高效的代名词,如果使用不当,将会有很大的性能(效率)问题。1. 两个例子(1)使用递归实现阶乘:long int Factorial(int N) { if ( N <...

堆和栈

堆(heap)和栈(stack)的概念我们经常在程序里面见到,当然一般分两种场合:数据结构和内存相关,两种场合下,概念有些不同。这里我们说的堆栈的概念指的是后者,即内存相关的场景。1. 内存结构简介堆和栈其实都是内存的一部分,只是他们的使用有些不同而已。所以,在探讨二者之前我们先简单看一下与程序相关的内存划分。 图 1 概况图图2 详细图图1为一个简要图,简单来说我们可以认为内存被划分为四块...

ANSI C中的日期和时间集——time.h

日期和时间在我们编程中经常使用,ANSI C中和日期与时间相关的头文件是<time.h>。本文介绍该头文件中定义的类型与时间函数。<time.h>中定义了两个宏(注意是宏,不是类型):第一个是表示空指针的NULL ;第二个宏是CLOCKS_PER_SEC :用这个宏去除clock( )的返回值将产生以秒为单位的时间值。需要注意的是,有的宏或者类型时间并没有在time....
News
歇业...
最近评论
纳兹很强,流程很清楚
勇往直前Yarn管理的资源,在Flink WebUI 上提交的Job好像只能使用Session Clu...
1感谢
王桑~自问自答:Job的提交过程:下载应用所需的依赖执行main()方法提取 job graph将依...
王桑~您好,请教个问题flink 1.11后,引入了application mode,这个模是在集群...
称呼你还会打羽毛球?
二里庄本狱友前来观摩了
王叔叔纠正博主一个错误一般生产环境比较推荐Session ClusterJob Cluster用的比...
王叔叔文字写的真棒,是近几个月看过的最好的技术博客。博主原来也在菊花厂待过,也算是狱友了,祝好~
lay为什么两次心率会差这么多呢