自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 【TCP回声服务器】一篇文章帮助你看懂TCP!

基于TCP的回声服务器1、TCP回声服务器的概念1.1 什么是TCP?1.2 什么是回声服务器?2、TCP回声服务器的编程模型2.1 编程模型2.2 服务器端编程步骤2.3 客户端编程步骤3、代码实现3.1 服务器端代码实现3.2 客户端代码实现4、结尾1、TCP回声服务器的概念1.1 什么是TCP?  TCP 的全称为传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。1.2 什么是回声服务器?  回声服务器是指

2020-09-14 11:37:48 2867 3

原创 【10大排序算法】一张表帮你总结10大排序算法的异同!

今天,笔者为大家带来了10大常用排序算法的相同点与不同点的总结。话不多说,上表:算法平均时间复杂度最优时间复杂度最差时间复杂度空间复杂度特点是否稳定冒泡O(n2)O(n)O(n2)O(1)对有序性较为敏感稳定选择O(n2)O(n2)O(n2)O(1)交换次数少不稳定直插O(n2)O(n)O(n2)O(1)适合已经有序的序列稳定希尔O(nlogn)O(nlogn)O(nlog2n)O(logn)引入增量以提高速度

2020-09-16 21:09:42 221

原创 【C/C++编程小技巧】 Linux下C/C++编程超简单的快速敲代码小技巧!

#include <stdio.h>#include <iostream>using namespace std;int main(){}码农小伙伴们,不知道你们看着这几行代码有一种想吐的感觉么?反正我每次打开一个新文件敲打他们都有一种莫名的厌恶感…于是乎,我想了个办法。从此对这些重复的操作说拜拜!~话不多说,我们上干货!首先,我们需要Linux的环境,然后需要你是用vi/vim编辑器写代码。打开终端,我们输入以下的代码打开vim编辑器的配置文件:vim

2020-09-15 18:48:43 537

原创 【网络知识梳理】计算机网络(下)网络的模型、通信协议

之前的一篇文章写到了计算机网络知识的上半部分,今天则来继续讲讲下半部分,即网络的模型和网络的通信。计算机网络一、计算机网络的组成1.OSI/RM结构与TCP/IP模型2.MAC地址、IP地址、域名3.公有IP和私有IP4.子网掩码和网络地址5.网关地址6.端口号二、网络通信的基本概念1.TCP通信协议2.UDP通信协议3.总结一、计算机网络的组成1.OSI/RM结构与TCP/IP模型  网络协议是为网络数据交换而制定的规则、约定、标准, 一个功能完备的计算机网络需要制定一整套复杂的协议集,网络协议是

2020-09-14 15:19:37 530

原创 【UDP回声服务器】一篇文章搞懂UDP与TCP的区别,并且实现UDP的回声服务器

笔者上一篇的文章总结的TCP通信协议的特点与TCP回声服务器的代码实现,所以这一次,再对UDP通信协议进行一次总结基于UDP的回声服务器1、UDP回声服务器的概念1.1 什么是UDP?1.2 什么是回声服务器?2、UDP与TCP的区别3、UDP回声服务器的编程模型3.1 编程模型3.2 服务器端编程步骤3.3 客户端编程步骤4、代码实现4.1 服务器端代码实现4.2 客户端代码实现5、结尾1、UDP回声服务器的概念1.1 什么是UDP?  UDP 的全称为用户数据报协议(UDP, User Data

2020-09-14 12:11:41 497 1

原创 【Linux基础】什么是进程?进程相关知识详解

进程基本概念:1、进程与程序程序就是存储在磁盘上的可执行文件,程序被加载到内存中开始运行叫进程。一个程序可以被多次加载生成多个进程,进程就是处于活动状态的计算机程序。2、进程的分类进程一般分为三种类型:交互进程、批处理进程、守护进程。守护进程一般都处于活跃状态,运行在后台,由于系统在开机时通过启动脚本自动创建的。3、查看进程简单形式:ps显示当前用户有控制终端的进程信息。...

2020-09-12 11:37:24 395 1

原创 【网络知识梳理】计算机网络(上)

一、计算机网络基础知识1、什么是计算机网络    把分布在不同地理位置的计算机与专门的网络设备用通信线路互相连成一个规模大、功能强的系统,从而使众多计算机可以方便地互相传递信息、共享软件、硬件、数据信息等。 计算机网络就是由通信线路互相连接的许多自主工作的计算机构成的的集合,它是计算机技术和通信技术相结合的产物。2、计算机网络的功能   数据通信、资源共享、提高系统的可靠性、分布式网络处理和负载均衡3、计算机网络的组成1、通信子网     ◦网卡:网络接口卡或网络适配器、它负责将数

2020-09-11 12:00:51 282 1

原创 【FTP服务器】C语言搭建FTP客户端环境(帮助理解FTP)

由于工作与学习的需要,笔者用C语言实现了一个简版的基于FTP协议的客户端,实现了诸如ls命令,cd命令,pwd命令,以及新建于删除目录,和上传本体文件/下载文件到本地的功能,功能较为简单,但对理解FTP的机制有不错的帮助。代码如下:#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#include <sys/types.h>#incl

2020-09-10 09:23:49 962 1

原创 【算法】详解动态规划,及动态规划与递归的区别

1、什么是动态规划是运筹学的一个分支,是一种分阶段解决策略问题的最优解的数学思想。2、动态规划与分治相同点:通过求解子问题,然后再组合达到解决原问题的目的。不同点:分治是把原问题分解成互不相交的子问题,然后再递归求解。动态规划是把原问题分解成子问题,但子问题中有公共的子问题,在计算子问题的过程中把结果记录下来,然后再遇到相同的子问题时可以不用再计算,以此提高计算速度。3、假如有10级楼梯,问有多少上楼梯的方案。f(n)=f(n-1)+f(n-2)1、递归解决:由于子问题中有公共的子问题,所以

2020-09-10 09:07:23 2318

原创 【数据结构】数据结构与算法知识梳理(下):算法篇

算法: 输入: 算法具有0个或多个输入 输出: 算法至少有1个或多个输出 有穷性: 算法在有限的步骤之后会自动结束而不会无限循环,并且每一个步骤可以在可接受的时间内完成 确定性:算法中的每一步都有确定的含义,不会出现二义性 可行性:算法的每一步都是可行的,也就是说每一步都能够执行有限的次数完 如果评价一个算法: 时间复杂度:由于计算机的性能不同,无法准确统计出算法执行所需要的时间。 因此我们用算法执行的次数来代表算法的时间复杂度,O(公式)...

2020-08-22 09:39:32 179

原创 【数据结构】数据结构与算法知识梳理(上):数据结构篇

一、什么是数据结构 1、数据结构的起源 1968年,美国的高纳德教授开设了一门基本算法的课程,开创了数据结构的先河。 数据结构是一门研究数据之间关系和操作的学科,而非是计算方法。 数据结构+算法=程序 沃思凭借这名个论点,获得图灵奖,这句话展示出了程序的本质。 2、数据结构的基本概念 数据:所有能够输入到计算机中去描述事物的符号。 数据项:有独立含义的数据最小单位,也叫域。 数据元素:数据的基本单...

2020-08-22 09:38:33 221

原创 【C语言编程】在Linux终端用C语言编程实现五子棋(附代码)

今天分享一波用C语言在Linux环境中编写五子棋程序的代码。首先,实现五子棋,分为两个部分:需要的数据:1、定义棋盘数组2、定义变量用于记录棋子位置3、定义角色变量业务逻辑:是否需要对数据进行初始化for(;;){1、清理屏幕,显示棋盘2、落子坐标要合法,原位置...

2020-07-16 19:39:08 2974 2

原创 【C语言编程】C语言实现汉诺塔编程!(递归思想)

法国数学家爱德华·卢卡斯曾编写过一个印度的古老传说:在世界中心贝拿勒斯(在印度北部)的圣庙里,一块黄铜板上插着三根宝石针。印度教的主神梵天在创造世界的时候,在其中一根针上从下到上地穿好了由大到小的64片金片,这就是所谓的汉诺塔。不论白天黑夜,总有一个僧侣在按照下面的法则移动这些金片:一次只移动一片,不管在哪根针上,小片必须在大片上面。僧侣们预言,当所有的金片都从梵天穿好的那根针上移到另外一根针上时,世界就将在一声霹雳中消灭,而梵塔、庙宇和众生也都将同归于尽。 不管这个传说的...

2020-07-16 19:16:56 798

原创 【编程例题】详解经典例题:用C语言实现100的阶乘!

↵ 很多刚学编程的小伙伴们一拿到这道题是都觉得很简单,心想:这不就是循环嘛,goto跳转也能做嘛,很简单的嘛。当程序写出来跑测试的时候,大多数小伙伴都傻掉了,为什么结果会是0呢? 其实,这是大家忽略了一个重要的问题,计算机中数据是如何存储的? 我们都知道,为了方便存储与运算,C语言中将数据类型分为整型的char,short,int,long ,long long ,和浮点类型的float,double 和long double。他们各自的字...

2020-07-15 19:56:30 5145

原创 【编程例题】标准C语言实现推箱子游戏!附解析!

今天我来分享一道对于初学C语言的同学非常有启发作用的编程例题,是用C语言实现单张地图推箱子的小游戏。这个游戏是基于Linux环境下编程的,所用工具为ubuntu、和gcc编译器。 首先推箱子的地图,我们根据经典游戏推箱子中的其中一幅地图来自做,图片如下。 用图片形式实现这张图片对于初学编程的同学来说,难以实现,所以我们选择用字符代替的形式来实现这张地图。 我们采用2为数组的方式来存储这张地图,具体的数字与字符含义转换如下:...

2020-07-13 21:01:27 1135 1

原创 【C语言初学】经典实例!用标准C语言实现素数(质数)的三种判定方法

初学C语言,实例练习的重要性: 众所周知,要想学好编程,第一步则是学好C语言,而学好C语言的关键,则是大量的实例练习。 今天,我们就来分享一下用标准C语言实现素数判定的三种方法: 首先,什么是素数?素数又称质数,正整数中只能被1和它自身所整除的整数。这其中的关键信息便是“正整数”和“只能被1 和它自身所整除”。法一: 考虑到素数的特别,所以首先可以想到可以利用循环来对所给数进行求余,每当余数为零时,则计数加1.如此遍...

2020-07-09 21:05:07 2236

原创 【编程初学】一看就会!一张图清楚数据类型的分类!

对于初学者来说,学习编程首先要搞清数据类型的分类,今天我们一起来理一理数据类型的那些事儿。 首先,在计算机系统中,数据类型分文三种类型,即内建、自建及模拟. 其中,内建类型是指C语言设定的类型,它包括了整型和浮点以及指针,三大部分。 其次,自建类型指的是程序员根据自己编程需要所创建的临时数据的类型。包括:结构、联合和枚举。 最后,模拟类型指的是以整型变量模拟出的数学类型,例如布尔类型和字符类型。话不多说,我们上图。 整型: ...

2020-07-08 10:44:12 776

原创 【Linux初学】超实用的Linux简介及系统常用的命令总结!(下)

上篇讲到了Linux系统下的终端使用技巧,下篇我们来讲一讲Linux系统编程中常用到的命令。4.Linux常用命令总结 终端相关: ls:查看当前目录下有哪些文件 -a :显示隐藏文件,在Linux/UNIX文件名以.开头文件默认隐藏,Ctrl+H可以显示或隐藏文件。 -l :显示文件详细信息 类型、权限、目录层数 用户名 组名 文件字节数 修改时间 文件名 cd:进入目录。 ...

2020-07-07 19:11:51 428 1

原创 【Linux初学】超实用的Linux简介及系统常用的命令总结!(上)

1.Linux系统简介 Linux,全称GNU/Linux,是一套免费使用和自由传播的类Unix操作系统,其内核由林纳斯·本纳迪克特·托瓦兹于1991年第一次释出,它主要受到Minix和Unix思想的启发,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux有上百种不同的发行版,如基于社区开发...

2020-07-07 18:41:19 245

空空如也

空空如也

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

TA关注的人

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