自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Git hub 代码库

平时的代码练习,有前端,也有Linux,也有数据结构等等

2019-06-04 23:47:18 892

原创 Qt学习(一)模型与视图

QT中的模型与视图是一种架构,一种框架,与MVC框架类似,他目的是使得数据与界面相互分离首先介绍MVC:MVC作为一种可视化方法:三个字母分别代表(model)模型-(view)视图-(controller)控制器模型代表的是数据集合,其对数据的查看以及获取还有任何存储的改变负责视图代表的是面向用户的数据,就是用户所能看到的数据控制器则是用户和视图之间的媒介,他将用户的操作转换为浏览或者编辑数据的请求.比如要改变某个视图框中的数据,那么就需要这个控制器,根据用户的需要,改变数据再将数据由

2020-07-29 20:01:04 1009

原创 boost python 学习笔记(一) 安装测试

安装测试安装并编译Boost库在VS中添加环境参数测试安装并编译Boost库1.首先对Boost库进行下载 我下载的版本是 1.69找见1.69完成点击下载2.下载完成之后,解压文件 打开vs命令行进入boost文件夹下执行bootstrap.bat3.执行完成之后生成bjam.exe,双击执行 (这里我没有配置 直接执行了所以编译的比较慢)4.完成之后生成了两个目录 一个是lib目录 一个是静态路径D:\Download\boost_1_69_0\boost_1_69_0\stage\lib

2020-07-28 19:49:37 478

原创 点点下载器(局域网下载器)

环境工具:Centos7.2,vim/gcc/g++/gdb/makefile/git 项目描述:同一个局域网中,用户利用这个工具下载他们之间共享的文件。主要流程:客户端/服务端一体:1.搭建HTTP服务器,线程分离服务端与客户端 。2.主机配对,列出局域网内所有IP,对运行下载器的用户发送配对请求3.共享文件列表的获取,发送HTTP请求获取文件列表。4.下载列表文件,获得...

2019-09-03 13:33:22 1276 1

原创 超市收银系统客户端

这次对做的超市收银系统客户端做出一个总结项目代码点这里!项目描述:超市不同的管理人员,实现各自对应的操作。后台人员实现员工信息管理,商品管理等基本操作,前台售货人员实现售货,会员管理等操作。环境工具:VS 2013,MySQL 数据库,DuiDesigner(一个前端页面设计工具)一.大体的框架二.项目部分展示登录页面后台管理人员界面前台售货人员界面...

2019-09-01 16:19:53 3611 3

原创 模板相关知识点

模板的概念,模板的精神<了解+掌握>模板就是一个模具,通过这个模具我们倒入不同材质的东西,浇筑成了一个我们想要的那个材质的物品这个材质在我看来就是我们的参数类型,我们各种属性的类型.模板是代码复用的一种手段,是泛型编程的基础,所谓的泛型编程就是编写与类型无关的代码函数模板<掌握>函数模板的写法template<class T> 函数类型 函数名字...

2019-08-24 23:51:10 211

原创 三大特性之--多态

多态的概念一个行为不同的对象产生出不同的形态 这就是多态,多态也是实现代码复用的方式那么为什么呢???多态的实现前提以及实现的条件为什么多态也是代码复用的产物呢,因为多态的第一个前提就是继承,必须建立在继承的基础之上,才有多态之谈,也就是说这个不同的对象也是有前提的,就是在继承的条件之下的不同的类对象,简单来说就是子类和基类多态的第一个条件就是调用的函数必须是虚函数,我们的派生类必须对基类...

2019-08-22 20:18:48 198 1

原创 三大特性之----继承

1.继承的概念继承是一种关系,是面向对象编程里面代码复用的一种重要的手段,它允许程序设计者在保持原有类的基础之上去进行一个扩展,增加功能,产生新的类,这样的类我们称之为派生类,继承体现了面向对象的层次结构,是类层次设计的复用他的意义就在于我们可以通过代码复用来完成一个子类的扩展.1.子类具有父类的属性和方法2.子类可以去自己去扩展自己的属性和方法3.子类可以当做父类的对象去使用,因为子类...

2019-08-22 00:21:36 209

原创 函数重载

一.函数重载的概念函数重载是函数的一种特殊的情况,C++运行在用一个作用域里面声明几个功能类似的同名函数,但是这些同名的函数,他们的形参列表里面(参数个数,参数类型,参数个数必须不一样),函数的返回值类型可以相同,我们用这种处理方式来处理功能类似但是参数类型不一样的问题double add(double right,double left) { return right + right...

2019-08-20 14:47:22 456

原创 C/C++内存管理

1.C/C++内存分布2.C语言中的内存管理方式C语言中有三种函数来开辟内存空间,malloc,calloc,reallocrealloc可以对malloc开辟的空间做出一个修改他们三个函数的作用都是向内存中去开辟内存空间只是他们的方式不一样,这三个函数的返回值类型都是一样的,当开辟内存空间成功的话,会返回开辟的内存空间首地址,这时候返回值的类型是一个(void *)类型的指针,我们要...

2019-08-19 14:24:38 180

原创 顺序表和链表的区别

顺序表 链表 尾插尾删 尾插/尾删:O(1) 不带头结点的单链表--尾插,删除节点方式遍历链表O(N) 插入删除 任意位置的插入和删除O(n) 单链表只能插入节点之后,在给节点位置之后O(1) 访问元素 支持随机访问 不支持随机访问 底层空间 连续空间 空间不连续 扩容问题...

2019-08-18 23:35:34 216

原创 我认为的封装

我认为的封装:既然是面向对象,那么我觉得就从对象的层面去理解会更明了一点.首先对外部隐藏对象的属性和具体的实现细节,对外部的话有接口交互,而不是外部可以一探究竟内部,更好的去管理对象,目的就是将对象的使用者和设计者分开,而由我们程序实现者自行定义的数据的属性以及相应的操作行为,这个属性与相应的操作这时候可以看做一个整体,对数据或者操作的访问我们通过一个限定,这就是封装...

2019-08-17 23:02:45 109

转载 c编译时的错误:程序中有游离的‘\240’‘\302’‘\XXX 时解决方案

偶尔从网上看到不错的源码,想研究下,不幸编译时遇到“错误:程序中有游离的‘\240’‘\302’”之类的错误,大量的源码不可能再全部重敲一遍,经过一番研究,终于让我找到简单的解决方案,还是本着让后人少走弯路的想法,分享下:首先,编译器提示的\xxx,都是8进制的编码,使用sed做下全文替换,命令如下:sed -i ‘s/\o240|\o302//g’ filename.cpp\o指定用...

2019-08-15 16:55:11 122

原创 Linux思维导图

2019-08-09 18:54:20 300

原创 (1/30计划)*4 函数指针的相关问题重识

在理解函数指针我们需要了解C语言的优先级,主要记住下标[],和括号(),取地址&,*指针运算的优先级从这里面我们可以了解到取下标[]的优先级是最高的,接下来是()表达式/函数名, *取值运算高于取地址&运算.声明1:int f();根据优先级,这个语句里面没有别的其他运算符,只有函数调用运算符,因此这个语句将f声明为一个函数,他的返回值是一个整数,我们现在...

2019-07-22 00:36:35 114

原创 文件描述符的最终解释!!!!!!

经过两天的学习,翻看源代码看博客,终于对这个文件系统有了一点点粗略的理解,过程可以说是痛苦的,因为你一看就会有更多的知识点出现,但是在内核的海洋,操作系统中航行,感觉还不错,就是有点吃力不过也收获了很多,虽然是内功,但是感觉还是不错的,现在做个总结这个是我总结的图文章的下面有一个网上的图,是一个标准的,因为我理解能力差,多画了几步.首先解释一下文件描述符:文件描述符就是文件描述符数组的...

2019-07-12 00:38:48 250

原创 (1/30计划)*3 一二级指针作参数的相关问题重识

1.一级指针传参的问题函数不管传的是什么参数都是编译器在函数栈上的一个拷贝(一个内容的拷贝),我们这里传了一个整形的,编译器就会拷贝一个整形的变量他的内容是和实参一模一样的void swap(int left,int right){ int temp = left; left = right; right = temp;}int main () {...

2019-07-09 18:10:58 133

原创 (1/30计划)*2 之 指针的重拾(重识)

我逐渐明白了老师们说的话,少即是多,我也认同这句话,相对于C++的臃肿,C语言在我第一遍学完我感觉还行,但是忽然发现,我这TM学的都是什么呀???!!!尤其是指针这一块,同样的我也理解了C语言的厉害之处,少即是多用在C语言上再好不过了,他的精简让我觉得就是一把直接杀人的利器,相当于偃月刀,我是这么理解的,指针才是C语言的重中之重,如果还对着块有问题,那么秋招也就不用去了,今天开始就开始重新温习这一...

2019-07-03 00:42:07 135

原创 Ubuntu 连接Xshell(针对静态IP地址问题)

因为今天我安装了Ubuntu但是,连接不上Xshell,就很难受,然后就去寻找原因,发现老师给的IP地址是静态IP,导致了网络连接不上,另一个方面是并没有安装对应的SSH服务,当然如果没有遇到这个问题,直接ifconfig 查看IP地址就可以进行连接了!查看是否是静态IP地址,如果是的话(用static来进行修饰的),那么就要进行修改了,将其要设置为dchpvi /etc/network/in...

2019-07-01 23:38:33 1147

原创 (1/30计划)*1 之 const关键字的重拾(重识)

整个6月只写了4篇博客,其实草稿箱里还有几篇草稿,但是写着写着就因为别的事情去忙活了,自己懒也有一部分吧,但是感觉每天真的其实自己还是挺充实的,忘记写总结其实是一件很痛苦的事情(尤其是Linux,想想就头大,抽象,苦涩,加上自己的代码量少,读不懂原代码库),因为意味着学习的东西你没办法按照你的方法去记住,写博客就是一场总结,别人的总结总是别人的,我得有我自己的总结,对于这个知识点的理解,昨天晚上的...

2019-07-01 17:08:57 138

原创 Linux虚拟地址空间的学习

子进程是父进程的一段拷贝,在fork的时候除了pid,父进程的资源都拷贝给了子进程,假如在fork之前代码中有一个全局变量,那么在fork之后变量在内存中的地址是不会发生变化的,也就是说父进程和子进程中这个变量的地址是一样的,假如我们定义了一个全局变量,那么我们知道,在程序的运行的时候,他存放在 全局数据区了 也就是BSS区.接着看一段代码#include<stdio.h>#in...

2019-06-10 15:47:07 202

原创 Linux中的PCB(进程描述符(task_struct))

概念必须清楚!慢一点可以,只要搞清楚就行了!进程的两个基本元素是程序代码(可能被执行相同程序的其他进程共享)和与代码相关联的数据集。进程信息被放在一个叫做进程控制块的数据结构中,可以理解为进程属性的集合称为PCB(process control block ),Linux 操作系统下的PCB:task structtask_struct–是PCB的一种进程的另外一个叫法是任务(task)...

2019-06-10 12:08:05 1602

原创 进程的调度算法

在这条道路上越走越发现你知道的知识永远只是凤毛菱角,你只能不断学习,扩充你的知识面,才可以做到大佬的级别!当然,这条路还很长,还得不断学习!如果不是整理知识点,我也不会发现,涵盖的知识点如此之多,虽然是概念性的知识点,但是这些就像灵魂一样,没有拥有这些知识储备,那也只能是码农级别的猿.好比只有身体,没有灵魂 !当然,我会不断扩充自己的知识面的!加油!前言知识点:无论是在批处理系统还是分时系...

2019-06-05 20:06:39 334

原创 二叉树的顺序结构存储(堆的实现)

先附上之前写的关于树的知识点的回顾树的概念二叉树有两种常见的结构方式,一种是顺序存储(就是用数组来存储),一种是链表结构来存储但是普通的二叉树是不适合用数组来存储,因为可能会存在大量的空间浪费,而完全二叉树是可以用顺序结构来存储的,现实中我们通常把堆(一种二叉树)使用顺序结构数组来存储,需要注意的是这里的堆和我们操作系统虚拟进程地址空间的堆是两回事,一个是数据结构,一个是操作系统中管理内存的...

2019-05-30 15:40:26 10503

原创 树的概念

1.树的基本概念树形结构是一类重要的非线性数据结构,是n个(n>=0)个节点的有限集合在任意一个非空树中:(1)有且仅有一个特定的称为根的(Root)的节点(2)n>1时,其余节点可分为m个互不相交的有限集T1,T2,Tm,其中每一个集合本身又是一棵树,并且称为根的子树2. 树中名词的相关概念节点的度:一个节点含有的子树的个数称为该节点的度,如上图A为3树的度:一棵树中...

2019-05-27 13:42:12 317

原创 为什么调试的时候需要编译选项中添加 -g 以及 源码安装, rpm安装, yum安装

运行程序时生成调试信息:gcc -g test.c //GUN调试器可利用该信息因为我们编译程序时候,如果直接用 gcc test.c 直接生成的是release版本,所以要生成debug版本就必须加 -g 选项,生成debug版本,才可以生成调试信息,对程序进行调试,加上-g选项以后,gcc在编译是会做以下额外的操作:创建符号表,符号表包含了程序中使用的变量名称的列表。关闭所有...

2019-05-20 18:08:44 308

原创 牛逼的编译器(不限制语言,不限制平台).

参考博客C/C++编译器比较编译器就是将“高级语言”翻译为“机器语言(低级语言)”的程序。一个现代编译器的主要工作流程:源代码 (source code) → 预处理器 (preprocessor) → 编译器 (compiler) → 目标代码 (object code) → 链接器 (Linker) → 可执行程序 (executables)。Java:java的编译器有很多种,有sun...

2019-05-20 10:17:42 248

原创 那些常用的编辑器

1. Vim(Unix及类Unix系统文本编辑器)Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性,VIM是自由软件。(自由软件是一种可以不受限制地自由使用、复制、研究、修改和分发但必须公开源代码的软件。可以买卖。这方面的不受限制正是自由软件最重要的本质。)Vim普遍被推崇为类Vi编辑器中最好的一个,事实上真正的劲敌来自Emacs的不同变体。1...

2019-05-20 09:45:29 956

原创 栈和队列的相关问题

1. 什么是栈,栈有什么特性?抽象的数据类型栈的定义栈是一种线性表,是一种有约束的线性结构 ,(限定仅在表位进行插入或者删除的线性表),因此对栈来说,表尾端称为栈顶(top),表头称为栈尾(bottom),不含元素的称为空栈先进后出(FILO),或者后进先出(LIFO)的线性表2. 栈和程序运行时的栈区有什么区别?我们这里说的栈是一种抽象的数据结构,是我们在描述数据时候抽象的一种方法,...

2019-05-18 23:13:13 1255

原创 ( *( void (*) ( ) ) 0 ) ( ) ; 到底是什么东东???!!!

( * (void (*) ( ) ) 0 ) ( ) ;到底是什么?这个出自<<C陷阱与缺陷>> 这本书,可以下去搜索一下,我也是今天才看到这个例子,作为初学者,这个列子很好的带领我们重新回顾了指针的操作也体现出指针的博大精深"也可以说为一种缺陷",因为他总是让人难理解(至少我目前这个阶段是这样)这个语句的意思是 调用首地址为0位置的子例程这个语句应...

2019-05-15 20:35:11 267

原创 链表面试题(一)

1.删除链表中等于给定值 val 的所有节点。示例: 输入: 1->2->6->3->4->5->6, val = 6 输出: 1->2->3->4->5/** * Definition for singly-linked list. * struct ListNode { * int val; * struc...

2019-05-15 13:29:55 163

原创 Linux下重要目录

家目录 home根目录

2019-05-14 09:57:04 130

原创 Linux权限操作管理

一. Linux权限的概念:何为权限就是你没办法在Linux下干一些事情(文件的增删改查),因为你没权利,Linux下有两种用户超级用户:可以再Linux系统下做任何事情,不受限制普通用户:在Linux系统下做有限事情命令: su [用户名]功能:切换用户,从root 用户切换到普通用户,或者从普通用户切换到超级用户因为有了用户的区分,权限随之而来,或者权限区分了用户,两者的说法可...

2019-05-14 00:08:51 1092

原创 Linux基本操作指令

Linnux课程框架学习LINUX 初识阶段 :常用操作,常用工具1.Linux 系统编程阶段1>进程概念2>进程控制3>基础IO 4>进程间通信5>进程信号6>多线程2.LINUX 网络编程1>基础12>编程3>基础24>基础35>高级IO 高并发服务器面试三问:1>项目2>L...

2019-05-13 16:52:55 830 1

原创 文件的操作

一.文件有不同的类型,分为两种文件:程序文件(包括源文件.c,目标文件.obj,可执行文件.exe,这些文件的内容是程序代码)数据文件(文件内容不一定是程序,而是程序运行时读写的数据,比如成绩数据,交易数据)二.何为文件?文件是程序设计中一个重要的概念,何为文件? 文件一般指的是存储在外部介质上数据的集合.也就是说,一批数据以文件的形式存放在外部的磁盘介质上,如果我们想要找存放的数据的时候...

2019-05-02 00:09:28 171

原创 双向带头链表的实现

头文件#pragma once typedef int DlDataType;typedef struct DlistNode { struct DlistNode* P_Next; struct DlistNode* P_Pre; DlDataType data;}DlistNode,*DNode;void Dlistinit(DNode* Head);//尾插...

2019-04-30 23:18:46 141

原创 单向链表无头链表

程序检测插入 ,头插,头删,尾删,寻找,检测链表,尾插,删除,移除相同头文件#pragma once#define OK 1#define FALSE 0//带有头结点的单方向链表typedef int SlDataType;//定义了节点typedef struct SlistNode { SlDataType data; struct SlistNode...

2019-04-25 23:52:35 192

原创 如何求解:二分查找、递归求阶乘、递归斐波那契的时间复杂度?斐波那锲的优化问题

二分查找int SeqListBinary_Search(int* arr,size_t search_data,size_t size){ int left = 0; int right =size-1; int mid; while(left<=right) { mid = left+((right-left)>>2); if(arr[mid]<se...

2019-04-24 11:06:57 2478

原创 关于时间复杂度和空间复杂度的问题,常见时间复杂度

一. 如何衡量一个算法的好坏?1.这个算法必须是可以实现的并执行无误的2.这个算法是友好的,不装逼的,是让人能看懂的3.这个算法时间复杂度和空间复杂度是可观的.(越小越好)二. 什么是时间复杂度?在计算机科学中,算法的时间复杂度是一个函数,它定量的描述了该算法的运行时间.通俗的讲,一个算法所花费的时间与其中语句的执行次数成正比,算法中的基本操作的执行次数,为算法的时间复杂度三. 时间...

2019-04-24 10:57:22 794

原创 听说这段代码可以测试你的电脑够不够 豪

请将你的N设置到程序不能跑为止#include <stdio.h>void func (int N) { if(N) { func (N-1); printf("%d\n",N); } return ;} int main ( ) { int N = 4700; func(N); return 0;}...

2019-04-22 22:49:52 129

空空如也

空空如也

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

TA关注的人

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