- 博客(67)
- 资源 (1)
- 收藏
- 关注
原创 python操作CSV文件
python操作CSV文件总结 总结一下python操作数据库,每次用都要百度查,还不如看自己总结哒~ 还能给自己增加访问量,嘿嘿嘿读取csv写入CSV
2020-11-04 23:19:27
375
原创 git学习(持续更新)
git的作用是什么呢?git是一个版本控制工具,可以帮助我们管理记录版本的更新。可以上传、删除、查看操作日志,回退到某个版本等等功能,也是一个团队协作的好帮手。可以直观看到文件的修改情况。要进行版本控制,首先需要在github或者码云上创建一个仓库。将该仓库克隆到本地,再在该文件夹中对内容进行控制管理。这是git的一个工作过程,以及相互作用的命令...
2020-07-06 22:46:17
266
原创 leetcode---层序遍历二叉树
层序遍历二叉树Given a binary tree, return the level order traversal of its nodes’ values. (ie, from left to right, level by level).For example: Given binary tree [3,9,20,null,null,15,7], 3 / \...
2018-08-10 20:01:05
1087
原创 linux--- 信号量
信号量信号量主要用于同步和互斥进程互斥由于有些资源是进程共享的,而且这些资源不可以同时被多个进程使用,所以这些进程竞争使用这些资源,这种进程间的关系叫做进程互斥。系统中某些资源一次只允许一个进程使用,称这样的资源为临界资源或互斥资源涉及到临界资源的程序段为临界区进程同步:指的是多个进程需要相互配合共同完成一项任务P、V原语P :申请信号量V :释放信号量信号...
2018-07-27 15:58:31
337
原创 linux---共享内存
共享内存 共享内存区是最快的IPC形式,一旦这样的内存映射到共享它的进程的地址空间,这些进程间数据传递不再涉及到内核。 前几种,内核提供资源,代码借助内核,从用户态切换到内核态,完成之后,又要从内核态切换到用户态。共享内存是通过MMU机制,直接映射到内核。共享内存的特点双向通信,可用于随意的进程,不一定非要有亲缘关系没有面向字节流或者数据报的概念,就是一块内存,...
2018-07-27 15:45:37
349
原创 linux---消息队列
消息队列消息队列是消息的链接表,存储在内核中,,由消息队列标识符标识。在linux下查看当前所有的消息队列ipcs -q删除一个消息队列ipcrm -q 消息队列的id消息队列的特点面向数据报全双工支持一个进程向另一个进程发送一块数据的方法每个数据块都可以是不同的类型,接收者进程接收的数据块可以有不同的类型值。消息队列中的每个消息的大小是有上限的,每个消息...
2018-07-27 07:34:35
1444
1
原创 linux---基于命名管道实现的服务器客户端
前两天学习了命名管道,今天就基于命名管道来实现一个简单的服务器客户端。服务器端的实现思路1. 首先创建一个命名管道2. 从这个命名管道中读数据3. 将读到的数据打印在标准输出上具体代码#include <stdio.h>#include <unistd.h>#include <fcntl.h>#include <sys/ty
2018-07-19 09:51:41
1347
原创 题目---char*p,*q;p=(char*)malloc(sizeof(char)*20);q=p;scanf("%s %s",p,q);printf("%s %s\n",p,q);
分析下面给出的代码,得到程序最终输出的结果。#include <stdio.h>#include <stdlib.h>int main(){ char *p, *q; p = (char*)malloc(sizeof(char) * 20); q = p; scanf("%s %s",p, q); printf("%s %s...
2018-07-15 14:59:19
4145
1
原创 题目---求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
题目—求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。首先我们要捋清思路,不能使用四则运算符,我们就可以使用位运算符。对这两个数在更底层的角度上进行运算。实现的步骤:这两个数做异或操作。再对这两个数进行按位与操作。得到一个值,将这个值向左移一位。将1得到的结果赋值给num1.将2得到的结果赋值给num2.重复上面四步操作,直到num2为0.原理:...
2018-07-14 20:29:38
564
原创 linux---管道
管道一. 管道管道:一个进程来凝结到另一个进程的一个数据流称为一个”管道”。 管道又分为:匿名管道命名管道二. 匿名管道匿名管道是适用于有亲缘关系的进程之间的通信。三. 命名管道...
2018-07-01 16:42:49
360
原创 linux---进程间通信
进程间通信一. 什么是进程间通信见名知意,进程间通信就是指在进程之间进行通信,传送数据,共享资源等。进程间通信的目的:数据传输:一个进程需要将它的数据发送给另一个进程资源共享:多个进程之间共享同样的资源。通知事件:一个进程需要向另一个或一组进程发送消息,通知它们发生了某种事件进程控制:有些进程希望可以完全控制另一个进程的执行,此时控制进程希望能够拦截另一个进程的所有陷入和异...
2018-06-26 09:10:48
265
原创 python---初识python
python是一种面向对象的解释型计算机程序设计语言。一.python的特点1.解释运行 python 是一种半编译半解释的语言,python解释器会按行读取源代码文件,然后会先将源代码转为供python计时器直接执行的“字节码”。然后再执行字节码 执行一个.py文件后,会生成一个同名的.pyc文件,这个文件就是python解释器生成的字节码文件,如果已经存在了.pyc文件,那么就不需要再翻译一次...
2018-06-23 19:52:08
417
原创 网络---数据链路层
数据链路层一. 数据链路层的信道类型1.点对点信道这种信道使用一对一的点对点通信方式。2.广播信道这种信道使用一对多的广播通信方式,因此过程比较复杂,广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发送。二. 链路与数据链路1.链路是一条点到点的物理线路段,中间没有任何其他的交换结点。 一条链路只是一条通路的一个组成部分。2...
2018-06-05 10:03:02
2173
原创 题目---替换字符串当中的空格
这道题目是将字符串中的空格全部转换空格。首先需要扩容,保证字符串可以在正常状态下进行工作。不会导致字符串的容量不够。主要步骤如下:循环遍历求得当前字符串中的空格个数算出最终被替换后的新字符串的长度判断当前字符串是否有足够空间存储替换后的字符串从后向前复制,遇到空格将其替换,并将其前两个字符也替换为相应字符。#include <iostream>#include...
2018-05-25 11:55:22
305
原创 c++---单继承、多继承
一. 单继承二. 多继承多继承:一个子类有两个或以上的直接父类。 有了多继承这种机制,就会出现一个问题,可能会有菱形继承的问题 菱形继承: 这样会产生什么样的结果呢?class A{public: //A();protected: int _a;};class B : public A{public: //B();prote...
2018-05-23 16:42:08
6777
1
原创 题目---用两个栈实现一个队列
用两个栈实现一个队列栈:后进先出 队列:先进先出 我们可以考虑,入栈时将元素全部入栈到第一个中,需要出栈时,将第一个栈当中的元素全部出栈并依次入栈到第二个栈当中,此时第一个栈当中最先进来的元素就是第二个栈中的栈顶元素,出栈时就直接将其出栈即可。 第一次是这样写的,可是结果错误。因为没有考虑到元素可能不是一次入队列的。可能是经过入栈出栈再入栈的过程。这样就会导致第二次入栈的元...
2018-05-23 09:56:57
323
原创 题目---小Q定义了一种数列称为翻转数列: 给定整数n和m, 满足n能被2m整除。对于一串连续递增整数数列1, 2, 3, 4..., 每隔m个符号翻转一次, 最初符号为'-';。
题目:小Q定义了一种数列称为翻转数列: 给定整数n和m, 满足n能被2m整除。对于一串连续递增整数数列1, 2, 3, 4…, 每隔m个符号翻转一次, 最初符号为’-‘;。例如n = 8, m = 2, 数列就是: -1, -2, +3, +4, -5, -6, +7, +8. 而n = 4, m = 1, 数列就是: -1, +2, -3, + 4. 小Q现在希望你能帮他算算前n项...
2018-05-17 22:34:18
5251
5
原创 网络---物理层(二)
物理层三. 物理层下面的传输媒体导向传输媒体无屏蔽双绞线UTP 屏蔽双绞线STP同轴电缆非导向传输媒体:指自由空间,其中的电磁波传输被称为无线传输。 无线传输所使用的频段很广、短波通信主要是靠电离层的反射,但短波信道的通信质量较差。物理层设备—集线器 工作特点:他在网络中只起到信号放大和重发作用,其目的是 扩大网络的传输范围,而不具备信号的定向传送能力...
2018-05-17 16:11:33
653
原创 网络--- 物理层(一)
物理层一. 物理层的基本概念物理层:解决如何在连接各种计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体 物理层的主要任务:确定传输媒体的接口的一些特性。即机械特性:接口形状、大小、引线数目电气特性:例规定电压范围(-5V到+5V)功能特性:例规定-5V表示0,+5V表示1过程特性:也称规程特性,规定建立连接时各个相关部件的工作步骤。二. 数据通信的基础知...
2018-05-17 14:05:19
361
原创 c++---容器适配器
容器适配器 容器适配器是模板类的一种应用。适配器是什么?适配器就是将外部给予的东西转换成为自己可以使用的东西。可以不用自己实现相关操作。适配器就是用现已有的结构重新封装,得到想要的结构。 主要举例说一说队列与栈。我们都知道队列的最大特性是先进先出,所以它的相关主要操作就是入队列出队列,对应的就是尾插、头删。所以我们可以用链表来适配队列,因为顺序表的头删很麻烦,需要挪动数据。栈是...
2018-05-16 19:55:18
217
原创 c++---模板(template)的使用以及顺序表链表的模板类实现
Template 模板一. 模板的概念说到模板,就要提到泛型编程,那什么是泛型编程呢? 泛型是程序设计语言的一种特性。允许程序员在强类型程序设计语言中编写代码时定义一些可变部分,那些部分在使用前必须作出指明。各种程序设计语言和其编译器、运行环境对泛型的支持均不一样。将类型参数化以达到代码复用提高软件开发工作效率的一种数据类型。 模板就是泛型编程的基础。模板就是用来实现泛...
2018-05-16 16:57:26
917
原创 网络---因特网的概述
因特网的概述网络、互联网、因特网网络:许多计算机连接在一起互联网(internet)许多网络连接在一起因特网:全球最大的一个互联网Internet和广域网 局域网:覆盖范围小,自己花钱买设备,带宽固定(10M、100M、1000M),自己维护,覆盖最远100米。 广域网:距离较远、超过100米、花钱租带宽DNS:负责将域名解析成IP地址。(域名?) 公网地址:全球唯一...
2018-05-11 19:08:16
908
原创 linux---考试复习
第一章简单命令 who命令 列出所有正在使用系统的用户相关信息 who am i //列出使用该命令的当前用户的相关信息 whoami //只列出当前用户名 echo命令 功能:将命令行中的参数显示到屏幕上,常用于shell脚本中作为输出提示 举例:echo hello 、echo $SHELL 、echo ‘hello w...
2018-05-07 23:27:54
492
原创 数据库---初识mysql
初识mysql首先是要将mysql数据库装好,有linux版本也有windows版本。看个人喜好。mysql的操作都是一样的。一. mysql的基本使用连接到mysql :mysql -u root -pmysql的关闭与启动: 关闭:service mysql stop 启动: service mysql start二. 库的操作 1.创建数据库:...
2018-05-06 21:05:56
479
原创 c++---继承(二)
继承 上一次说了关于继承的基本概念,这次来看一看关于继承的更深层次的东西。一. 赋值 在c++中可以将一个对象赋值给另一个对象。但是这两个对象必须是继承关系,即一个是子类对象,另一个是父类对象。并且他们之间的继承关系必须是public(公有)继承。 有如下几种赋值方式: 1. 子类对象可以赋值给父类对象(切割/切片) 2. 父类对象不能赋值给子类对象 ...
2018-05-06 14:43:58
266
原创 数据结构---链式栈的实现
之前用顺序表实现了栈,今天用链表来模拟实现一个栈。之前也都说了,栈的最大特性就是先进后出,先入栈的元素后出栈。 下面这张图,就是我画的入栈出栈示意图。 第二个是入栈。第三个是出栈,a,b元素是先入栈的,入栈是从头节点的下一个元素开始入栈,出栈也是这里,都是只改变头指针的下一个元素就行。由于是这样的,所有链式栈实现起来比较简单,不像顺序栈那样,需要大规模挪动数据。 好了,下面就...
2018-04-25 18:53:05
310
原创 Linux---初识进程
进程(task) 一. 进程的基本概念 进程:程序的一个执行实例,正在执行的程序。 从内核上来看,进程担当分配系统资源(CPU时间,内存)的实体。 从广义上定义:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。 二. 进程控制块PCB(task_st...
2018-04-25 16:21:55
288
原创 数据结构---用顺序表实现栈的基本操作
顺序表实现栈 顺序栈:栈的顺序存储结构,是利用一组地址连续的存储单元依次存放自栈底到栈顶的数据元素,同时附设指针top指示栈顶元素在顺序 栈中的位置。 栈在数据结构中也是一个比较重要的结构,它有一个重要的特性是:先进后出。先入栈的元素最后出栈。具体结构如下: 在顺序栈中有三个元素,一个是存储数据的数组。还有一个用于存储当前顺序栈的有效大小。另外一个就是这个顺序栈的容量。...
2018-04-24 21:23:09
2188
1
原创 数据结构--带头结点的双向链表
带头结点的双向链表 之前用c语言写了单链表,单链表是每个结点结构体中包含一个指针,指向下一个结点,还有一个数据类型,用于存储当前结点的值。单链表的结构简单,所以会导致在有时候,它有一些弊端,比如需要访问使用某一个结点的前一个结点的时候,就需要重新遍历一次链表来查找这个结点。所以在大多数情况下我们都选择使用双向链表。 双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,...
2018-04-22 19:38:22
8936
2
原创 c++---类的继承
c++中的继承 继承是c++中一个很重要的概念。一. 继承的概念 通过继承机制,可以利用已有的数据类型来定义新的数据类型。所定义的新的数据类型不仅拥有新定义的成员,而且还同时拥有旧的成员。我们称已存在的用来派生新类的类为基类,又称为父类。由已存在的类派生出的新类称为派生类,又称为子类。继承是面向对象中类被复用的重要手段,通过继承定义一个类,继承是类型之间的关系建模,共...
2018-04-22 18:48:33
237
原创 C++---实现简单的带头循环双向链表
C++实现简单的带头循环双向链表 带头双向循环链表听着感觉好像很难的样子,其实,它的实现相对比较简单,它的前驱结点与后继结点都已知,也不需要再遍历得到指针。 在构造链表的时候,记得要初始化头结点。还有在操作前后指针的时候,要记得将指针保存好,得理清楚这几个结点的关系,不然就会导致有些结点丢失。 List.cpp#include <iostream>#in...
2018-04-19 13:03:39
884
原创 c++---实现动态线性表
c++实现动态线性表 之前在学习c语言的时候用c语言实现了动态线性表。现在再使用c++实现一下动态线性表。 相关数据结构方面就不多说了。在之前的博客里也有。下面就直接来实现吧。 这里使用指针来遍历数组,这样在算size,capacity的时候,直接用指针相减的方式就可以得到元素个数,以及容量。Vector.h#include <iostream>...
2018-04-19 12:01:09
730
原创 c++---了解c++中浅拷贝,深拷贝,引用计数,写时拷贝以及c++中string类的模拟实现
以下我们都用string类来说明。一. 浅拷贝 首先我们来说一说浅拷贝,浅拷贝是什么呢?浅拷贝就是指将拷贝时只将指针拷贝过来了,和被拷贝的内容指向的是同一块空间。这样就会出现不想要的结果。当有一个指针想要对其这块空间进行修改,那么这时,并不是只有一个指针指向这里,而还有别的指针。所以这里是一块共享的内存空间,那么有其中一个对其改变,其余指针的内容也将受到影响,这样就会影响其它...
2018-04-15 21:28:40
334
原创 c++---c与c++的动态内存管理
c与c++动态内存管理首先我们来看看它们都是怎么使用的吧。mallocvoid *malloc( size_t size );calloc//num:开辟的这块空间有多少个元素//size:每个元素的字节数void *calloc( size_t num, size_t size );realloc//memblock需要扩容的指针//size 需...
2018-04-14 18:06:35
291
原创 c---字符串操作的实现(strcmp,strcpy,strstr,strchr,memmove,memcpy)
字符串操作的实现 这两天在复习c语言部分,练习了一些有关于字符串的操作题,自己实现strcmp,strcpy,strstr,strchr,memmove,memcpy(后两个是对内存的操作) 一. strcmpstrcmp是用于比较两个字符串的大小的。int strcmp( const char *string1, const char *string2 )c...
2018-04-10 11:34:11
458
原创 c++---类的内联函数,const修饰的函数,友元函数,静态成员
类的内联函数,const修饰的函数,友元函数,静态成员一.类的内联函数。 内联函数从源代码层看,有函数的结构,而在编译后,却不具备函数的性质。内联函数不是在调用时发生控制转移,而是在编译时将函数体嵌入在每一个调用处。编译时,类似宏替换,使用函数体替换调用处的函数名。一般在代码中用inline修饰,但是能否形成内联函数,需要看编译器对该函数定义的具体处理。1.在类中被inlin...
2018-04-06 10:17:11
421
原创 数据结构---位图的实现
在哈希表中,是用一个数组对一个集合进行存储,用于查询查找,在存储时需要将元素的值以及相关信息都要存储进去,就是将其整个结构体都存储与数组的一个位置中。但有时候并不需要知道那么多关于该元素的信息,只是想知道在这个集合中是否存在有某一个元素。这时候据需要使用位图了。位图也时候一种基本的数据结构,位图是与哈希表有一些联系的,功能上是有一定的相同之处。是将哈希表中用于存储的数组变为了一个二进制位,一个...
2018-04-01 19:48:47
334
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人