自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

尘世中迷途小书童

立于山巅看内核,隐于闹市读算法

  • 博客(138)
  • 资源 (26)
  • 收藏
  • 关注

原创 C语言基础知识总结

本文的目的是记录平时工作学习过程中学习到的C语言知识,由于单独一篇文章记录的话可能篇幅过少,因此置顶此文用作此用处,本文从2017-12-16开始记录,后续新增内容不单独列出时间,在MarkEditor中有相应的版本记录。文件描述符EOF(end of file)文件结束,参考如下代码:#include <stdio.h>int main(){ int c; while((c =

2017-12-28 23:59:10 4452

原创 替换空格

请实现一个函数,把字符串中的每个空格替换成”%20”。例如输入“We are happy.”, 则输出”We%20are%20happy.”。 在网络编程中,如果URL参数中含有特殊字符,如空格、’#’等,可能导致服务器端无法获得正确的参数值。我们需要将这些特殊符号转换成服务器可以识别的字符。转换的规则是在’%’后面跟上ASCII码的两位十六进制的表示。比如空格的ASCII码是32,即十六进制的0

2017-12-24 20:43:21 425

原创 二维数组中的查找

题目描述在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。分析: 1 2 8 9 2 4 9 12 4 7 10 13 6 8 11 15从二维数组最右上角的数值(9)开始比较,若目标比该数大,则目标肯定在该数的下方,反之

2017-12-24 20:42:25 369

原创 实现who命令

在看了《Linux/UNIX系统编程手册》和APUE前几章之后发现缺少相应的实践,如果只是单纯的了解API并没有太大意义,因此决定跟随《UNIX/Linux编程实践教程》将书中的例子调通与理解透。然后再去啃APUE,效果应该会好很多。 书中第二章给出了who实现的,由于书写与2004年,代码看上去有些“另类”,对于编译过程中发现的问题进行修改,在讲解代码前先记录如下用法: grep -r命令 -

2017-12-24 20:41:33 527

原创 实现more命令

在看了《Linux/UNIX系统编程手册》和APUE前几章之后发现缺少相应的实践,如果只是单纯的了解API并没有太大意义,因此决定跟随《UNIX/Linux编程实践教程》将书中的例子调通与理解透。然后再去啃APUE,效果应该会好很多。 书中第一章给出了more实现的第一版,由于书写与2004年,代码看上去有些“另类”,修改后如下: 编译方法是直接使用gcc more01.c,然后./a.out

2017-12-24 20:40:39 734

原创 python编程快速上手

本文是python编程快速入门的读书笔记,仅记录python相关语言特性. python编程快速入门预计4-5周时间读完,并完成编程实践练习.开始时间2017-06-22导入模块 importPython包括一组模块,成为标准库。每个模块都是一个python程序,包含一组组相关的函数,可以嵌入你的程序之中。import randomfor i in range(5): print(ran

2017-12-16 13:04:49 2429

原创 shell脚本判断文件是否存在

有一个需求是判断某一个目录下文件是否存在,如果该文件不存在,则从当前目录拷贝文件到该目录。 由于没有学习写过shell脚本,晚上下班回来搜索后写出了如下的脚本,这里shell的if语法格式与C语言大致相同,语法格式: if [ 条件 ]; then 条件成立 else 条件不成立 fi fi是结束if语句。version1.0#!/bin/shmyFile="/

2017-12-14 23:01:12 40906 1

原创 [CSAPP]信息的表示和处理

第二章信息的表示和处理主要研究三种最重要的数字表示: 1)无符号(unsigned)编码基于传统的二进制表示法,表示大于或者等于零的数 2)补码(two’s-complement)编码是表示有符号数的最常见的方式,有符号整数就是可以为正或负的数字 3)浮点数(floating-point)编码是表示实数的科学计数法的以2位基数的版本。 浮点运算是不可结合的,例如在多数机器上表达式(3.14+

2017-12-10 12:09:34 460

原创 [CSAPP]计算机系统漫游

深入理解计算机系统这本书在豆瓣评分竟罕见的到了9.9分! 目前在读第三版,已读完前两章,补充在阅读过程中的笔记部分,如有任何疑问请评论指出。 本系列读书笔记不会记录全部内容,只是记录与实战相关、存在疑惑的部分,个人认为本书中的每一段话每一个字都很重要!信息=位+上下文#include <stdio.h>int main(){ printf("Hello,world\n");

2017-12-09 11:18:52 259

原创 ssh连接ubuntu虚拟机

在mac中通过parallels在线下载ubuntu安装之后,通过已创建的用户登录进系统切换到root却发现root密码不对,应该做如下设置: 1、先用安装时候的用户登录进入系统 2、输入:sudo passwd 按回车 3、输入新密码,重复输入密码,最后提示passwd:password updated sucessfully 此时已完成root密码的设置,操作示例如下图所示,下图中设置

2017-12-09 10:38:34 1686

原创 ps -ef 输出结果的具体含义

ps [选项] 下面对命令选项进行说明: -e 显示所有进程。 -f 全格式。 -h 不显示标题。 -l 长格式。 -w 宽输出。 a 显示终端上的所有进程,包括其他用户的进程。 r 只显示正在运行的进程。 u  以用户为主的格式来显示程序状况。 x 显示所有程序,不以终端机来区分。ps -ef 显示出的结果: 1.UID

2017-12-07 12:00:23 1898

原创 [APUE]第四章文件和目录

本章内容较多,本文只记录在学习过程中所发现的问题,同时记录所需掌握的Linux方面知识.文件类型普通文件 目录文件 块特殊文件 字符特殊文件 FIFO 套接字 符号链接 这里要介绍下dos2unix命令,刚好前几天在工作中有所接触。 dos2unix命令用来将DOS格式的文本文件转换成UNIX格式的(DOS/MAC to UNIX text file format converter

2017-12-06 23:53:34 226

原创 source insight崩溃解决方法

当C:\Users\hp\AppData\Local\Temp\目录创建以TFX开头的临时文件过多,造成无法在这个目录创建以TFX开头的临时文件,会造成 source insight的崩溃,因为source insight对创建得到的临时文件句柄的有效性未做任何检测。 解决办法:删除C:\Users\hp\AppData\Local\Temp\目录下以TFX开头的所有临时文件。如果找不到这个文件夹,

2017-12-06 15:15:30 11021 4

原创 Mac下10大常用快捷键

本文记录Mac下10大常用快捷键,来源于10个你不知道的Mac键盘快捷方式小窍门 一option + wifi图标 可以查看链接的wifi信息等,在网络出问题时可以方便打开无线诊断。 二音量键 option + shifit+音量调节键(F11 F12) 更小粒度的音量调节 三截屏 自定义区域:command+shift+4 全屏:command+shift+3 四command+

2017-12-04 08:35:01 6625

原创 svn:工作副本已锁定解决方法

使用svn过程中恰好遇到服务器重启或者服务器有其它问题时,如下图所示: 再去update 或者commit时提示工作副本已锁定,如下图所示: 解决方法是在代码目录中右键选择clean up

2017-12-01 15:33:00 1977 1

原创 Ubuntu修改系统的默认启动级别

修改默认启动级别假设现在在图形用户界面,打开终端,输入如下命令: sudo systemctl set-default multi-user.target 然后输入reboot命令重启:假设现在在图形用户界面,打开终端,输入如下命令: sudo systemctl set-default multi-user.target 然后输入reboot命令重启。 系统重启后,就会自动进入命令行界面

2017-11-28 00:20:17 3042

原创 [APUE]第三章文件I/O

Unix系统中大多数文件I/O只需用到五个函数:open、read、write、lseek、close。本章介绍的I/O是不带缓冲的,即:每个read和write都调用内核中的一个系统调用。它们不是ISO C的组成部分。 对于内核而言,所有打开的文件都通过文件描述符引用; 当打开或创建文件时,内核向进程返回一个文件描述符; 读写文件时,文件描述符将作为read和write的参数。 在 uni

2017-11-26 01:03:40 345

原创 [APUE]第二章UNIX标准及实现

这一章的阅读相对枯燥,20世纪80年代UNIX版本种类剧增以及他们之间的差别的扩大,导致很多用户呼吁对其进行标准化。 UNIX标准化介绍了ISO C IEEE POSIX Single UNIX Specification FIPS,这部分内容不详细总结。 UNIX系统实现介绍了 SVR4 4.4BSD Free BSD Linux Mac OSX Solaris. UNIX系

2017-11-25 22:14:11 344

原创 [apue]UNIX高级环境编程ver3勘误表[持续更新]

本文记录在阅读《UNIX环境高级编程》第三版过程中发现的错误,写这篇文章时阅读到第三章文件I/0. 本书是被誉为UNIX编程“圣经”的Advanced Programming in the UNIX Environment一书的更新版。在本书第1版出版后的十几年中,UNIX行业已经有了巨大的变化,特别是影响UNIX编程接口的有关标准变化很大。本书在保持了前一版风格的基础上,根据最新的标准对内容进行

2017-11-25 18:53:45 486

原创 [APUE]第一章UNIX基础知识总结

UNIX简介操作系统的狭义定义,是将操作系统定义为一种控制计算机资源,提供程序运行环境的软件,通常我们称之为内核,内核提供接口供上层应用调用,也叫做System Call(系统调用)。同时,为了方便应用程序使用内核,通常都会有公用函数库,应用程序既可以使用系统调用,也可以使用公用函数库。系统调用和公用函数库实际上并不是同一个东西,但是对于开发者来说,可以当作同一个层,都可以使用C函数来调用。再向上,

2017-11-23 00:19:03 279

原创 TLPI-Chapter 20 信号

基本概念信号是事件发生时对进程的通知机制。有时也称为软件中断,信号与硬件中断相似之处在于打断了程序执行的正常流程,大多数情况下,无法预测信号到达的精确时间。 一个具有合适权限的进程能够向另一进程发送信号,信号的这一用法可作为一种同步技术,甚至是进程通信IPC的原始形式。进程也可以向自身发送信号。然而发往进程的诸多信号,通常都是源于内核。 引发内核为进程产生信号的各类事件如下: 硬件发生异常:硬

2017-11-18 17:12:25 390

原创 指针数组与数组指针

指针数组:array of pointers,即用于存储指针的数组,也就是数组元素都是指针 数组指针:a pointer to an array,即指向数组的指针 还要注意的是他们用法的区别,下面举例说明。 int* a[4] 指针数组 表示:数组a中的元素都为int型指针 元素表示:a[i] (a[i])是一样的,因为[]优先级高于*int (*a)[4] 数组指针 表

2017-11-18 17:10:49 274

原创 分析C语言声明

在阅读Liunx/UNIX系统编程手册一书在阅读到第20章时遇到函数signal()的声明时完全不懂这个函数是什么意思,于是网上搜索,有几个帖子里面介绍的方法是《C专家编程》一书第三章中相关内容,本文就是为了弄懂函数signal()的声明。 在阅读了本章内容后,我尝试用自己的语言来解释函数signal()的声明,如果有幸有朋友看到,希望可以批评指正。 首先介绍signal()函数声明前先了解函数

2017-11-15 01:15:05 319

原创 C函数指针基础

函数指针可以像一般函数一样,用于调用函数、传递参数。在如 C 这样的语言中,通过提供一个简单的选取、执行函数的方法,函数指针可以简化代码。 函数指针只能指向具有特定特征的函数。因而所有被同一指针运用的函数必须具有相同的参数和返回类型。 一个简单的例子:#include <stdio.h>// 函数原型void sayHello();//函数实现void sayHello(){ pr

2017-11-15 00:33:26 252

原创 排序算法总结

排序就是将一组对象按照某种逻辑顺序重新排列的过程,本文是记录学习排序的总结,持续更新,计划一周时间,视工作忙与否而定。选择排序算法思路: 首先找到数组中的最小元素,其次将它和数组的第一个元素交换位置。再次在剩下的元素中找到最小元素,将它与数组的第二个元素交换位置。如此反复,直到将整个数组排序。 算法实现:#include <stdio.h>void SelectionSort(int a[],

2017-11-14 00:07:50 318

原创 算法概论

本文是算法概论读书笔记,算法概论这本书在豆瓣评分高达9分,在收到学弟寄来的这本书我随手翻了几页就被书中所述内容所吸引,因此本文持续记录书中对于我来说比较有意思又或者我之前理解不深刻或错误的地方。序言序言部分从费波那奇数列介绍开始,引入费波那奇数列的递归实现,接着分析递归实现算法慢的原因,因为很多求解步骤都是重复的。一种更合理的机制是随时存储中间计算结果。 C语言实现:#include <stdio

2017-11-14 00:06:34 2066

原创 TLPI-Chapter 13文件I/O缓冲

函数:void *memalign(size_t alignment, size_t size); The obsolete function memalign() allocates size bytes and returns a pointer to the allocated memory. The memory address will be a multiple of alignment

2017-10-29 18:03:29 292

原创 旋转字符串

题目描述 给定一个字符串,要求把字符串前面的若干个字符移动到字符串的尾部,如把字符串“abcdef”前面的2个字符’a’和’b’移动到字符串的尾部,使得原字符串变成字符串“cdefab”。请写一个函数完成此功能,要求对长度为n的字符串操作的时间复杂度为 O(n),空间复杂度为 O(1)。暴力移位法初看此题,可能最先想到的方法是按照题目所要求的,把需要移动的字符一个一个地移动到字符串的尾部,如此我们

2017-10-29 01:31:36 371

原创 关于 Markdown

Markdown 会被解释为一种 “标记语法”,实际上,可以不用去理解这种看似晦涩的意思。 Markdown 接近于普通文本,另外再由少数几个语法规则描述文本结构的一种约定方式;而且花很少的时间,就能很容易掌握的技巧。 换一种说法,Markdown 是给专注于“偷懒”,却不牺牲最终产出的人群使用的。基本语法标题# 一级标题## 二级标题### 三级标题#### 四级标题####

2017-10-27 00:11:45 223

原创 C程序经典程序集锦(一)

集锦一:#include <stdio.h>int array[]={23,34,12,17,204,99,16};#define TOTAL_ELEMENTS (sizeof(array)/sizeof(array[0]))int main(){ int d=-1; int x; if(d <= TOTAL_ELEMENTS-2) printf("Hello

2017-10-27 00:10:09 259

原创 TLPI-Chapter 12系统和进程信息

“The /proc file system exposes a range of kernel information to application programs. Each /proc/PID subdirectory contains files and subdirectories that provide information about the process whose ID m

2017-10-27 00:08:35 224

原创 GCC常用用法总结

gcc是Linux/Unix上非常强大的C语言编译器。并且如今也支持C++的编译。与VC不同,gcc是完全跨平台的。到目前为止很多工具都使用gcc作为其编译环境,比如cocos2d-x,android的NDK等等。 学习使用gcc编译器,就是学习它众多的编译参数。就是用连字符-连接的参数. 因为它的参数并不全是单字符的,所以不能使用一个连字符后加多个参数的写法, 要每个参数前面都要加一个连字符.常

2017-10-27 00:07:18 433

原创 Linux命令行大全总结(下)

本文是Linux命令行大全这本书第12章之后的阅读笔记部分。VI简介数字0 跳转至本行开头 Shift + 4 跳转至本行末尾 Shift + G 跳转至文件最后一行 dd 删除当前行 5dd 删除当前行和之后的4行 dG 删除当前行到文件末尾 d20G 删除从当前行至20

2017-10-25 23:42:00 358

原创 TLPI-Chapter 11系统限制和选项

关于系统限制C语言标准和SUSv3提供了两种方法: 1.在编译程序时能够获得一些限制和选项。 2.一些限制在程序运行时可能会发生变化。对此SUSv3定义了3个函数sysconf() pathconf()和fpathconf(),供应用程序调用以检查系统实现的限制和选项。 SUSv3将其规定的限制归为三类: 运行时恒定值 路径名变量值 运行时可增加值 在shell中,可以使用getco

2017-10-25 00:51:46 773

原创 TLPI-Chapter 10 时间

日历时间Calendat TimeUNIX系统内部对时间的表示均是以自1970年1月1日的零点以来的秒数来度量。日历时间存储与类型time_t的变量中,此类型是由SUSv3定义的整数类型。 系统调用gettimeofday(),可于tv指向的缓冲区中返回日历时间。#include <sys/time.h>int gettimeofday(struct timeval *tv, struct ti

2017-10-24 00:10:18 272

原创 TLPI-Chapter 9 进程凭证

这一章开始看的有点懵,在网上搜索到一篇文章有助于理解链接地址Set-User-ID 1.每个进程都有一套用数字表示的用户ID和组ID。具体有实际用户ID(real user ID), 实际组ID(real group ID),有效用户ID(effective user ID),有效组ID(effective group ID),保存的set-user-ID和set-group-ID,文件系统用户I

2017-10-22 15:25:55 682

原创 Linux命令行大全总结(一)

阅读Linux/UNIX系统编程闲暇之余阅读Linux命令行大全这本书,想起当初毕业同学送给我时的场景,书很新,新到什么程度呢,我说这书时昨天刚买的都没毛病。 本篇博客只记录一些印象不太深刻的内容,相对较简单或对我来说比较熟练的,不再记录. shell是一个接受由键盘输入的命令,并将其传递给操作系统来执行的程序。bash是Bourne Again Shell的首字母缩写,Bourne Again

2017-10-12 00:47:46 14140

原创 TLPI源代码运行与勘误表

Title: TLPI-源代码运行 date: 2017-09-20 23:55 url: TLPI-begin 上周末开始看《UNIX/Linux系统编程手册》这本书,周末的时间看到第四章,觉得这本书比直接看Linux内核要好接受的多,因为从代码入手,可以更好的理解,比如第三章系统调用的讲解,如果只是理论方面可能比较枯燥,那么这本书中的代码,如何运行呢?下载代码这本书的主页.代码版本有两个

2017-10-08 20:16:10 436

原创 strtol函数

本文将介绍strtol函数,参考linux programmer’s manual,如有任何疑问请评论指出. C 库函数 long int strtol(const char nptr, char endptr, int base) 把参数 str 所指向的字符串根据给定的 base 转换为一个长整数(类型为 long int 型),base 必须介于 2 和 36(包含)之间,或者是特殊值 0。

2017-10-08 15:40:11 1676

原创 TLPI-Chapter 6 进程

每个进程都有一个唯一进程标识号(process ID),并保存有对其父进程号的记录。 进程的虚拟内存逻辑上被划分为许多段:文本段、数据段、栈和堆。 栈由一系列帧组成,随函数调用而增长,随函数返回而减,每个帧都包含有函数局部变量、函数实参以及单个函数调用的调用链接信息。 程序调用时命令行参数通过argc argv参数提供给main()函数。通常argv[0]包含调用程序的名称。 每个进程都会获

2017-10-08 00:00:09 251

50家IT公司面试题

50家IT公司面试题,腾讯、百度、华为、中兴等50家公司面试题.

2013-04-20

小米论坛模板2.5模板

小米论坛2.5升级文件,替换X2对应内容即可,本人上传的资源包含视频教程,我的个人博客<我爱程序员> www.52coder.net

2012-09-27

小米论坛模板源码

小米论坛模板 参考站点

2012-03-23

小米论坛教程

小米论坛安装方法

2012-03-23

中值滤波算法Quartus实现

中值滤波算法Quartus实现,一个计算机专业的毕业设计,Oh,shit! How can a students do this?

2012-03-04

程序员求职大礼包

内涵腾讯09年笔试题及答案还有一些个人整理的笔试题合集,希望能对各位求职者有所帮助,赠人玫瑰,手有余香。欢迎移步,www.52coder.net我爱程序员论坛。从这里开始,不一样的精彩!

2012-01-09

C语言笔试题羊皮卷一52coder.net出品

C语言笔试题羊皮卷一52coder.net出品,有十套,这是第一套,免费发布给大家,希望能对大家有所帮助。

2012-01-08

V3.8点阵字库生成器

MTK中添加点阵字库,此工具能将ttf字库转换成bdf。使用时请暂时关闭杀毒软件,内含注册机,破解之后生成的字库效果不错。

2011-12-30

数据结构算法演示软件

数据结构(严蔚敏版)算法演示软件,适合于找工作和考研的人

2011-05-27

C++ Primer(第4版)习题解答

C++ Primer 习题解答 这个是C++ Primer 的部分习题解答,以后陆续会上传其它部分的答案

2011-05-10

中值滤波算法VC实现(代码)

中值滤波算法VC实现(代码),各位不要嫌小弟心黑 ,这10分花的绝对值,小弟费了好大劲才写出中并且加了详细注释,而且保证程序能够运行通过,效果与Maltab实现相差无几

2011-04-26

用汇编的写的五子棋(附代码)

该程序功能是实现五子棋游戏 用到的函数举例: 在载入背景图片时,调用了LoadBitmap函数 在创建背景和数据流时,调用了reateCompatibleDC函数 部分运行效果截图

2011-04-23

Google C++编程风格指南

Preface 背景 ................................................................................................................................................. 3 头文件 ............................................................................................................................................. 4 作用域 ............................................................................................................................................. 8 C++类 ........................................................................................................................................... 13 智能挃针和其他C++特性 ........................................................................................................... 20 命名约定........................................................................................................................................ 32 代码注释........................................................................................................................................ 38 格式 ............................................................................................................................................... 44 外.................................................................................................................................... 57

2011-04-23

C++笔试面试宝典2009版

1.new、delete、malloc、free关系 2.delete与 delete []区别 ……………………………………

2011-04-23

华为中级C++培训教程(适合有一定基础的程序员)

华为中级C++培训教程适合有一定基础的程序员

2011-04-23

腾讯笔试题(2009附答案)

腾讯笔试题(2009)附带答案,腾讯的笔试题,由西电某牛人整理发布,准备去腾讯实习的同学一定要下来下下

2011-04-23

MFC简体教程 中文版 侯捷 华中科技大学出版

这是一本不可多得的好书,不论是刚刚接触MFC的人还是具有一定编程经验的人来说,每次读来都有不一样的体会。

2011-04-20

FPGA开发全攻略(可重构计算的系统设计)

FPGA开发全攻略 FPGA现场可编程门阵列

2011-04-20

最完整的数据结构1800题包括完整答案word版本

最完整的数据结构1800题包括完整答案(word版本).rar 考研的首选资料

2011-04-19

模板匹配算法介绍与代码

模式(Schema)是指按照某种结构组织起来的多个元素的集合。 模式匹配是指将两个模式作为输入,计算模式元素之间语义上的对应关系的过程。

2011-03-31

计算机IT巨头公司面试题

计算机IT巨头公司面试题联想 微软 IBM 清华同方

2010-10-19

微软研究院C++面试集(整理不容易)

微软研究院C++面试集(整理不容易)微软研究院C++面试集(整理不容易)微软研究院C++面试集(整理不容易)微软研究院C++面试集(整理不容易)微软研究院C++面试集(整理不容易)

2009-12-17

经典C语言代码(经典C语言代码)

绝对经典的c语言代码,绝对经典 程序员必学的c语言!

2009-12-17

数据库系统概论 课后题答案.chm王珊 萨诗选版

数据库系统概论 课后题答案.chm王珊 萨诗选版

2009-10-31

西电汤子瀛操作系统及课后答案

西电汤子瀛操作系统系统教程及相关答案 考研必备 下不下由你

2009-10-31

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除