内部排序算法

排序算法按照元素所在的位置可以分为内部排序(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...

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

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

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....
站点总览
  • 文章总数:281篇
  • 分类总数:15个
  • 评论总数:449条
  • 运行时间:6年329天
最近评论
Michael翔虽然看似基础,但是深入研究并不简单,赞~PS:最后的「##总结」,语法应该少了个空格啦~
徐小鹏小米手环5的睡眠监测确实不行,
Gordon那写入ES 只能单条写入加routing了? 不能bulk批量加吧? 会影响写入效率么?
Gordon有弊端的吧? 例如以用户ID作为routing 只适合按用户的搜索 没有传用户ID的就无...
多多非常好的文章,学习到了👍
窗外一叶我认为这本书里吹嘘的成分比较多,没有多少干货。移动通信网络(5G6G)和WiFi的界限会越来越...
aa懵逼
yhm流痞
马旭鹏路过
lukez比如ignore_older参数比clean_inactive长..其中逻辑请参考官方文档