eiSouthBoy
-
Linux网络编程:socket实现client/server通信
一、问题引入 阅读UNIX网络编程 卷1:套接字联网API 第3版的前4个章节,觉得有必要对书籍上的源码案例进行复现,并推敲TCP的C/S通信过程。 二、解决过程 2-1 server #include <sys/types.h> #include <sys/socket.h> #include <stdio.h> #in…
-
C语言代码规范
一、问题引入 初入编程世界,我们不知道什么叫做好代码。一切以实现功能和快速上线项目为主,但编程经验增加,发现代码越来越难写,越来越难改。导致这样的原因是没有遵循一般性的编程规则或则没有良好的编程风格。俗话说:“无规矩不成方圆”,在编程水平上来后,就更应该遵循规则。 傻瓜都能写出计算机可以理解的代码。唯有能写出人类容易理解的代码的,才是优秀的程序员 好代码的检…
-
栈(顺序)的实现:括号的解析
一、问题引入 在学习栈的过程中,教材有一个案例:利用栈结构解析括号的匹配问题。括号问题:[({}{})],说明 [] 、() 、{} 称为一对且满足就近匹配。 号码位置对应的括号之间进行匹配,结果:0-7、 1-6、 2-3、 4-5 源码链接https://github.com/caojun97/Bracket_Match 二、过程记录 2-1 栈的介绍 …
-
单链表的实现【02】:Student-Management-System
一、问题引入 单链表的实现【01】:Student-Management-System 只体现了项目功能实现,未对代码部分做出说明。故新增随笔进行补充说明代码部分。 重构代码,迭代版本:Student Mangement System(Version 2.0) 二、解决过程 基于单链表实现就离不开链表的几个重要概念:头结点、首元结点、头指针 2-1 链表概念…
-
顺序表的实现:Book_Manage_System
一、问题引入 图书信息管理系统:出版社有一些图书数据保存在一个文本文件book.txt 中,为简单起见,在此假设每种图书只包括三部分信息:ISBN (书号)、书名和价格,文件中的部分数据如图2.1 所示。现要求实现一个图书信息管理系统,包括以下6个具体功能。 (1) 查找:根据指定的ISBN 或书名查找相应图书的有关信息, 并返回该图书在表中的位置序号。(2…
-
C++的对象和类
一、问题引入 区分面向过程编程和面向对象编程的最大的特性就是 类,类是一种将抽象转换为用户定义类型的C++工具,它将数据表示和操纵数据的方法组合成一个整洁的包。 那么如何声明类、定义类、调用类? 以 C++ Primer Plus:中文版 (第六版) 的股票类举例说明。 二、解决过程 2-1 类抽象 股票类的抽象化 获得股票 增持股票 卖出股票 更新股票价格…
-
C++的引用变量作为函数参数
一、问题引入 在C++的中新增一个特性:按引用传递变量,虽然与按传递变量的地址可以实现相同的结果,但引用有其独特的地方。 引用传递: 引用经常被用作函数参数,使得函数中的变量名成为调用程序中的变量的别名。 通过引用变量用作参数,函数将使用原始数据,而不是其副本。 二、解决过程 举例说明: #include <iostream> using nam…
-
BF算法的实现:病毒感染检测
一、问题引入 BF(Brute-Force)算法介绍了BF算法的具体实现,但并未结合具体案例。 本随笔就是结合案例(病毒感染检测)对BF算法进行结合分析。 案例4.1: 病毒感染检测 医学研究者最近发现了某些新病毒, 通过对这些病毒的分析, 得知它们的 DNA 序列都是环状的。现在研究者巳收集了大量的病毒DNA 和人的DNA 数据,想快速检测出这些人是否感染…