自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

yofer张耀琦的专栏

数学之法,世界之道

  • 博客(92)
  • 资源 (1)
  • 收藏
  • 关注

原创 TCP/IP概述

1) 链路层,有时也称作数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。2) 网络层,有时也称作互联网层,处理分组在网络中的活动,例如分组的选路。在T C P / I P协议族中,网络层协议包括I P协议(网际协议),I C M P协议(I n t e r n e t互联网控制报文协议),以及I G

2015-07-31 21:45:01 815

原创 UTF-8是现在流行的编码方式,根据规定回答问题

UTF-8是现在流行的编码方式,下面是RFC2279对UTF-8编码规则的规定 UCS-4 range (hex.) UTF-8 octet sequence (binary) 0000 0000-0000 007F 0xxxxxxx 0000 0080-0000 07FF 110xxxxx 10xxxxxx 0000 0800-0000

2015-07-31 15:03:44 1293

原创 在定点二进制运算器中,减法运算一般通过什么来实现

在定点二进制运算器中,减法运算一般通过什么来实现是下面的哪个选项呢?A 原码运算的二进制减法器B 补码运算的二进制减法器C 原码运算的十进制加法器D 补码运算的二进制加法器举例说明:减法5-3相当于加法 5+(-3)被加数5的二进制代码为 0000 0101加数-3的二进制代码为 1000 0011-3的二进制反码为 1111 1100-3的二进

2015-07-31 14:48:30 42138

原创 Linux - 文件权限

ls是『list』的意思,重点在显示文件的文件名与相关属性。而选项『-al』则表示列出所有的文件详细的权限与属性 (包含隐藏档,就是文件名第一个字符为『 . 』的文件)。第一栏代表这个文件的类型与权限(permission):第一个字符代表这个文件是『目录、文件或链接文件等等』:当为[ d ]则是目录,例如上表档名为『.gconf』的那一行;当为[ -

2015-07-31 10:43:24 700

原创 Linux - info

基本上,info与man的用途其实差不多,都是用来查询命令的用法或者是文件的格式。但是与man page一口气输出一堆信息不同的是,info page则是将文件数据拆成一个一个的段落,每个段落用自己的页面来撰写, 并且在各个页面中还有类似网页的『超链接』来跳到各不同的页面中,每个独立的页面也被称为一个节点(node)。 所以,你可以将info page想成是文本模式的网页显示数据。[vbi

2015-07-30 15:27:32 692

原创 Linux - man page

使用man date来查看date命令的详细信息。lucifer@lucifer-virtual-machine:~$ man date DATE(1) User Commands DATE(1) # 请注意上面这个括号内的数字 NAME <==这个命令的完整全名,如下所示为date且说

2015-07-30 15:15:42 768

原创 Linux - 简单好用的计算器 bc

如果在文本模式当中,突然想要作一些简单的加减乘除,偏偏手边又没有计算器!这个时候要笔算吗? Linux有提供一支计算程序,那就是bc。你在命令列输入bc后,屏幕会显示出版本信息, 之后就进入到等待指示的阶段。如下所示:bc默认仅输出整数,如果要输出小数点下位数,那么就必须要运行 scale=number ,那个number就是小数点位数,例如:

2015-07-30 14:29:18 1646

原创 中国象棋游戏Chess(3) - 实现走棋规则

棋盘的绘制和走棋参看博文:中国象棋游戏Chess(1) - 棋盘绘制以及棋子的绘制,中国象棋游戏Chess(2) - 走棋现在重新整理之前写的代码,并且对于每个棋子的走棋规则都进行了限制,不像之前那样每个棋子都可以走到任意位置。也实现了红先黑后,并且每一方走一步,交替走棋的功能。直接看代码:// Board.h// Board类实现了棋盘的绘制以及显示//#if

2015-07-28 18:01:59 3571

原创 linux设置系统时间

设置系统时间-         date命令:显示系统的时间,可以在直接输入“date”命令来查看系统的时间-           date+%y/%m/%d-           2005/06/23-           date +%H:%M-           17:25-         利用date命令来更改系统的时间-           dateMMD

2015-07-27 10:54:20 748

原创 linux进程的介绍和管理

概述-   在linux 中,每个执行的程序都称为一个进程,每一个进程都分配一个ID号-   每一个进程,都会对应一个父进程,而这个父进程可以复制多个子进程,例如www服务器-   每个进程都可能以两种方式存在的,前台与后台。所谓前台进程就是用户目前的屏幕上可以进行操作的,后台进程则是实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行-   一般系统的服务都是以后台进

2015-07-27 10:35:42 986

原创 linux - 目录、文件默认属性: umask使用

一 权限掩码umaskumask是chmod配套的,总共为4位(gid/uid,属主,组权,其它用户的权限),不过通常用到的是后3个,例如你用chmod 755 file(此时这文件的权限是属主读(4)+写(2)+执行(1),同组的和其它用户有读写权限)二 umask的作用默认情况下的umask值是022(可以用umask命令查看),此时你建立的文件默认权限是644(6-0,6-2

2015-07-26 16:25:33 1257

原创 ping通windows下虚拟机上的linux系统

直接ping  linux的ip直接就失败了。现在我的windows有两个虚拟网卡接下来让linux使用VMnet8网卡修改我的linux系统下的lo网卡的ip地址为VMnet8的ip地址现在ping就可以了没有什么路由包的缓慢问题,时间非常短。

2015-07-26 11:47:41 2903

原创 windows下追踪路由

追踪路由 tracert   目标ip/域名测试两个ip是否畅通ping    目标ip在windows查看ip情况ipconfiglinux/unix下查看ip情况的使用ifconfig

2015-07-26 11:00:22 5386

原创 CentOS 7 运行级别的切换

CentOS 7 运行级别的切换由命令行级别切换到窗口级别的命令未变:init 5或startx由窗口级别切换到命令行级别的命令未变:init 3新版本的运行级别都定义在 /lib/systemd/system下:[root@localhost ~]# ls -ltr /lib/systemd/system/runlevel*.targetlrwxrwxrwx.

2015-07-26 10:54:04 1244

原创 Linux目录结构

简单介绍linux的文件系统是采用层级式的树状目录结构,在此结构中的最上层是根目录“/”,然后在此目录下再创建其他的目录深刻理解linux文件目录是非常重要的-         /-           root,存放root用户的相关文件-           home,存放普通用户的相关文件-           bin,存放常用命令的目录,如vi,su-     

2015-07-25 14:48:16 683

原创 Linux的常用命令(2) - 关机

关机命令shutdown‑h now 立即进行关机shutdown‑r now 现在重新启动计算机-t sec : -t后面加秒数,即”过几秒后关机”-k      : 不是要真的关机,只是发送警告信息-r      : 在将系统的服务停掉之后就重新启动-h      : 将系统服务停掉后,立即关机-n      : 不经过init程序,直接以shutdown关机-

2015-07-25 14:45:07 675

原创 中国象棋游戏Chess(2) - 走棋

之前的文章请看:中国象棋游戏Chess(1) - 棋盘绘制以及棋子的绘制现在实现走棋的功能。首先需要获取点击到的棋子,用QWidget中的函数mouseReleaseEvent实现函数:void Board::mouseReleaseEvent(QMouseEvent *ev){ // 首先要获取鼠标点击的位置 QPoint pt = ev->pos();

2015-07-22 16:05:05 1861

原创 中国象棋游戏Chess(1) - 棋盘绘制以及棋子的绘制

本项目都使用QT来实现绘图,没有任何第三方的资源。工程详情:Github首先将棋盘设计为一个类Board// Board.h// Board类实现了棋盘的绘制以及显示//#ifndef BOARD_H#define BOARD_H#include #include "Stone.h"class Board : public QWidget{ Q_OBJEC

2015-07-21 21:06:29 11163

原创 Linux的常用命令(1) - 指定运行级别

命令:init [0123456]运行级别0:关机1:单用户2:多用户状态没有网络服务3:多用户状态有网络服务4:系统未使用保留给用户5:图形界面6:系统重启常用运行级别是3和5,要修改默认的运行级别可修改文件/etc/inittab的id:5:initdefault:这一行中的数字

2015-07-20 22:34:50 905

原创 队列类 - 链式存储

代码:// linkqueue.hpp// 队列类#pragma once#include "linklist.hpp"template class LinkQueue{public: LinkQueue(); ~LinkQueue();public: int clear(); int append(T &t); int retieve(T &t); int

2015-07-20 15:01:18 583

原创 栈类 - 链式存储

代码:// linkstack.hpp// 栈类#pragma once#include "linklist.hpp"template class LinkStack{public: LinkStack(); ~LinkStack();public: int clear(); int push(T &t); int pop(T &t); int top(T &

2015-07-20 14:27:56 651

原创 线索化 - 遍历思想,流程,代码

1、前言普通二叉树只能找到结点的左右孩子信息,而该结点的直接前驱和直接后继只能在遍历过程中获得。若可将遍历后对应的有关前驱和后继预存起来,则从第一个结点开始就能很快“顺藤摸瓜”而遍历整个树了。二叉线索树思想是干什么的?中序遍历这棵树===》转换成链表访问2线索化思想结论:线索化过程就是在遍历过程(假设是中序遍历)中修改空指针的

2015-07-19 20:29:46 963

原创 创建树 - #号法

#创建树,让树的每一个节点都变成度数为2的树通过先序遍历124###3##可以唯一确定一棵树。// nonrecursion.cpp// 对树的操作#define _CRT_SECURE_NO_WARNINGS#include #include #include using namespace std;// 二叉树表示法typedef struct BiTNode

2015-07-19 18:37:54 2259 1

原创 树的非递归遍历(中序遍历)

中序 遍历的几种情况分析1:什么时候访问根、什么时候访问左子树、什么访问右子树       当左子树为空或者左子树已经访问完毕以后,再访问根       访问完毕根以后,再访问右子树。分析2:非递归遍历树,访问结点时,为什么是栈,而不是其他模型(比如说是队列)。        先走到的后访问、后走到的先访问,显然是栈结构分析3:结点所有路径情况步骤1:如果结点有左子

2015-07-18 22:58:23 753

原创 求二叉树深度和copy二叉树

// operatorTree.cpp// 对树的操作#include #include // 二叉树表示法typedef struct BiTNode{ int data; struct BiTNode *lchild, *rchild;}BiTNode, *BiTree;// 中序遍历void inOrder(BiTNode *T){ if (T == NULL

2015-07-18 22:02:07 686

原创 计算二叉树叶子结点,加深理解遍历的本质

// 1递归函数遇到全局变量,最好转化成函数参数// 2遍历的本质强化// 访问树的路径是相同,只不过是计算叶子结点的时机不同。

2015-07-18 21:19:35 700

原创 二叉树的遍历本质 - 前序,中序,后序

遍历算法的访问路径是相同的,只是访问结点的时机不同

2015-07-18 20:59:55 964

原创 树的3种表示法

// 二叉树表示法typedef struct BiTNode{ int data; struct BiTNode *lchild, *rchild;}BiTNode, *BiTree;// 三叉链表表示法typedef struct TriTNode{ int data; // 左右孩子指针 TriTNode *lchild, *rchild; // 父指针 T

2015-07-18 16:12:44 1943

原创 队列链式存储 - 设计与实现 - API函数

队列相关基础内容参我的博文: 队列顺序存储 - 设计与实现 - API函数队列也是一种特殊的线性表;可以用线性表链式存储来模拟队列的链式存储。主要代码:// linkqueue.h// 队列链式存储API声明#ifndef _LINKQUEUE_H_#define _LINKQUEUE_H_typedef void LinkQueue;// 创建队列LinkQue

2015-07-16 14:30:12 928

原创 队列顺序存储 - 设计与实现 - API函数

队列是一种特殊的线性表 队列仅在线性表的两端进行操作队头(Front):取出数据元素的一端队尾(Rear):插入数据元素的一端队列不允许在中间部位进行操作!queue常用操作销毁队列清空队列进队列出队列获取队头元素获取队列的长度队列也是一种特殊的线性表;可以用线性表顺序存储来模拟队列。主要代码:// seqqueue.h// 顺

2015-07-16 13:39:17 891

原创 栈应用 - 后缀表达式的计算

有关栈API详情参看我的另一篇博文: 栈的链式存储 - API实现遍历后缀表达式中的数字和符号对于数字:进栈对于符号:从栈中弹出右操作数从栈中弹出左操作数根据符号进行运算将运算结果压入栈中遍历结束:栈中的唯一数字为计算结果#include #include "LinkStack.h"int isNumber3(char c){ return ('0'

2015-07-13 19:48:54 1221

原创 栈的应用 - 中缀表达式转后缀表达式

有关栈API详情请参看我的另一篇博文:栈的链式存储 - API实现实例:5 + 4=> 5 4 + 1 + 2 * 3 => 1 2 3 * + 8 + ( 3 – 1 ) * 5 => 8 3 1 – 5 * + 中缀表达式符合人类的阅读和思维习惯后缀表达式符合计算机的“运算习惯”中缀转后缀算法:遍历中缀表达式中的数字和符号对于数字:直接输出对于符号:

2015-07-13 19:44:57 820 1

原创 栈的应用 - 就近匹配

链式存储栈的API详情参看我的博文:栈的链式存储 - API实现就近匹配 几乎所有的编译器都具有检测括号是否匹配的能力如何实现编译器中的符号成对检测?#include int main() { int a[4][4]; int (*p)[4]; p = a[0]; return 0;算法思路从第一个字符开始扫描当遇见普通字符时忽略,当遇见左符号时压入栈中当遇

2015-07-13 17:12:21 834

原创 栈的链式存储 - API实现

基本概念其他概念详情参看前一篇博文:栈的顺序存储 - 设计与实现 - API实现这里也是运用了链表的链式存储API快速实现了栈的API。代码:// linkstack.h// 链式存储栈的API声明#ifndef _MY_LINKSTACK_H_#define _MY_LINKSTACK_H_typedef void LinkStack;// 创建栈L

2015-07-13 15:51:45 1380

原创 栈的顺序存储 - 设计与实现 - API实现

Stack基本概念栈是一种 特殊的线性表 栈仅能在线性表的一端进行操作栈顶(Top):允许操作的一端栈底(Bottom):不允许操作的一端Stack的常用操作创建栈销毁栈清空栈进栈出栈获取栈顶元素获取栈的大小 栈模型和链表模型关系分析栈的顺序存储设计与实现// seqlist.h// 顺序存储结构线性

2015-07-13 13:37:49 1211

原创 双向链表设计与API实现

为什么需要双向链表?单链表的结点都只有一个指向下一个结点的指针单链表的数据元素无法直接访问其前驱元素逆序访问单链表中的元素是极其耗时的操作!双向链表的定义在单链表的结点中增加一个指向其前驱的pre指针双向链表拥有单链表的所有操作创建链表销毁链表获取链表长度清空链表获取第pos个元素操作插入元素到位置pos删除位置pos处的元素

2015-07-12 20:03:37 714

原创 循环链表设计与API实现

基本概念循环链表的定义:将单链表中最后一个数据元素的next指针指向第一个元素循环链表拥有单链表的所有操作创建链表销毁链表获取链表长度清空链表获取第pos个元素操作插入元素到位置pos删除位置pos处的元素新增功能:游标的定义在循环链表中可以定义一个“当前”指针,这个指针通常称为游标,可以通过这个游标来遍历链表中的所有元素。循环链

2015-07-12 16:42:20 876

原创 C++链表模板类

思想和上篇文章差不多,只是换了层包装。直接上代码:// linklist.h#include #include using namespace std;template struct Node{ T t; Node *next;};template class LinkList{public: LinkList(); ~LinkList();publ

2015-07-11 23:03:13 5034 3

原创 C++中不能被重载的运算符介绍

C/C++ 里大多数运算符都可以在 C++ 中被重载。C 的运算符中只有 . 和 ?:(以及 sizeof,技术上可以看作一个运算符)不可以被重载。C++ 增加了一些自己的运算符,除了 :: 和 .* 外,大多数都可以被重载。

2015-07-11 22:36:15 927

原创 线性表链式存储设计与实现 - API实现

基本概念链式存储定义为了表示每个数据元素与其直接后继元素之间的逻辑关系,每个元素除了存储本身的信息外,还需要存储指示其直接后继的信息。表头结点链表中的第一个结点,包含指向第一个数据元素的指针以及链表自身的一些信息数据结点链表中代表数据元素的结点,包含指向下一个数据元素的指针和数据元素的信息尾结点链表中的最后一个数据结点,其下一元素指针为空,表示无

2015-07-11 20:44:22 1021

GDB命令行备忘录

对gdb常用的命令进行了整理,基本上都可以找到相应的说明

2015-08-27

空空如也

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

TA关注的人

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