笔记
文章平均质量分 57
仙八哥
这个作者很懒,什么都没留下…
展开
-
ICM42688笔记
个人笔记原创 2022-09-08 11:21:36 · 9456 阅读 · 23 评论 -
c++模板及STL标准模板库
类型模板之模板函数与模板类非类型模板以及特化链表实现迭代器STL容器STL算法原创 2022-05-18 17:38:27 · 158 阅读 · 0 评论 -
c++开发之多态、异常、转换函数
多态多态概念: 同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是多态性。简单的说:就是用基类的引用指向子类的对象。#include <iostream>using namespace std;class A{public: A(){ } ~AX(){ } void show() { cout<<"AAAAAAAAAAAAA"<<endl; } };class AX:public A{public: voi原创 2022-04-27 14:34:32 · 155 阅读 · 0 评论 -
从C到C++及类与对象
语法升级c++中 &不仅有取地址的作用,还能作为引用引用 (&) : 可以理解为是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样引用的作用示例在C语言中调换2个变量的值,需要通过指针操作,比较复杂,引用可以简化这种操作//指针操作对换变量数值#include <stdio.h>void swap(int *p, int *q){ *p ^= *q; //0110 0100 ^ 0000 1010 = 0110 1110 *q ^= *p;原创 2022-04-25 14:15:22 · 124 阅读 · 0 评论 -
C++运算符重载及组合与继承
普通运算符重载数学运算符关系运算符+ - * / ++ –== >= <= !=C++准许以运算符命名函数string a = "hello";a += "world"; //+(a, "world");count<< "hello"; //<<(count, "hello"); 将hello传递给count打印出来#include <stdio.h>#include <unistd.h>#原创 2022-04-25 14:13:50 · 340 阅读 · 0 评论 -
IO多路复用
1、什么是多路复用IO多路复用(IO Multiplexing)一种同步IO模型,单个进程/线程就可以同时处理多个IO请求。一个进程/线程可以监视多个文件句柄;一旦某个文件句柄就绪,就能够通知应用程序进行相应的读写操作;没有文件句柄就绪时会阻塞应用程序,交出cpu。多路是指网络连接,复用指的是同一个进程/线程。一个进程/线程虽然任一时刻只能处理一个请求,但是处理每个请求的事件时,耗时控制在 1 毫秒以内,这样 1 秒内就可以处理上千个请求,把时间拉长来看,多个请求复用了一个进程/线程,这就是多路复用,这原创 2022-04-20 11:05:17 · 23975 阅读 · 1 评论 -
数据结构(八)——排序
1、排序定义2、内排序方法主要有插入排序、交换排序、选择排序和归并排序,这里着重介绍插入排序和交换排序。插入排序又可以细分为直接插入排序、折半插入排序、链表插入排序、shell(希尔)排序等。交换排序可以分为“起泡”排序和“快速”排序3、快速排序的实现//自己实现的快速排序#include <stdio.h>#include <stdlib.h>#define N 15int partion(int *data, int low, int原创 2022-03-21 21:15:24 · 410 阅读 · 0 评论 -
数据结构(七)——查找
查找概念查找方法查找-平均查找长度顺序表的查找顺序查找算法及分析折半查找算法及分析分块查找算法及分析Hash表的查找保留除数法哈希表实现//hash.h#ifndef _HASH_#define _HASH_#define N 15typedef int datatype;typedef struct node { datatype key; datatype value; str原创 2022-03-15 17:50:42 · 189 阅读 · 0 评论 -
数据结构(六)——树的概念及实现
树的介绍二叉树概念二叉树性质二叉树的运算程序实现//tree.h#ifndef _TREE_H_#define _TREE_H_typedef char data_t;typedef struct node_t { data_t data; struct node_t * left; struct node_t * right;}bitree;bitree * tree_create();void preorder原创 2022-03-11 16:39:24 · 1174 阅读 · 0 评论 -
数据结构(五)——队列实现及其应用
1、顺序队列的原理队列是限制在两端进行插入操作和删除操作的线性表允许进行存入操作的一端称为“队尾”允许进行删除操作的一端称为“队头”当线性表中没有元素时,称为“空队”特点:先进先出(FIFO)双端队列2、顺序队列的实现声明结构体typedef int datatype;#define N 128typedef struct { datatype data[N]; int front; int rear;}sequeue;2.1 创建队列sequeue * q原创 2022-03-11 11:43:51 · 490 阅读 · 0 评论 -
数据结构(四)——栈实现及其应用
1、栈的概念栈是限制在一端进行插入或者删除操作的线性表(俗称堆栈)允许进行操作的一端称为“栈顶”另一固定端称为“栈底”当栈中没有元素时称为“空栈”特点:后进先出(LIFO)栈的应用:解决非线性问题,通过一个栈把问题线性化。2、栈的创建typedef int data_t;//先定义一个结构体typedef strcut{ data_t *data; int maxlen; int top;}sqstack;以32位的系统为例,指针为4个字节,int为4个字节,所以该结构体原创 2022-03-09 16:04:19 · 1598 阅读 · 0 评论 -
C语言 指针与数组
在C语言中,数组的指针是指数组在内存中的起始地址,-----数组元素的地址是指数组元素在内存中的起始地址一维数组的数组名为一维数组的指针(起始地址)下面用代码验证一下 x[i],(px+i),(x+i)和px[i]是否具有相同功能(访问数组第i+1个数组元素)。#include <stdio.h>int main(int argc, char *argv[]){ int a[] = {1, 3, 5, 7, 9}; int *p, i, n; p = a; n = size原创 2022-03-09 15:51:52 · 3031 阅读 · 0 评论 -
链表基础操作总结
链表的内存申请和释放原创 2022-03-09 09:55:50 · 509 阅读 · 0 评论 -
Samba更换Sourceinsight+共享文件夹教程
原理介绍:Samba服务器经常会出现网络问题,而且错误很难排查,有时候影响你工作效率,如:但是采用sourceinsight和共享文件夹结合的方式就可以有效的避免上述问题,共享文件夹作为Ubuntu环境和Windows环境进行文件交换的一个通道,那么我们可以尽可能的利用这个通道,比如Ubuntu下开发我们需要交叉编译环境,那么我们需要在Ubuntu下进行编译,make操作等,但是在Ubuntu里写驱动的代码又不方便,怎么办呢?可以在Windows下借助sourceinsight写驱动代码,然后将你的驱原创 2022-03-04 14:56:52 · 639 阅读 · 0 评论 -
samba服务的安装及配置
一、安装:sudo apt-get install samba二、配置:1、创建一个需要共享的目录,并修改权限:mkdir 1703sudo chmod 777 1703/ -R2、打开配置文件:sudo vim /etc/samba/smb.conf3、对创建的共享目录进行配置并保存退出:[1703]path = /home/lpf/1703available = yesbrowseable = yespublic = yeswritable = yes三、重起sam原创 2022-03-04 14:50:47 · 2138 阅读 · 0 评论 -
Makefile基础使用介绍,看完就能上手
1、Make简介工程管理器,顾名思义,指管理较多的文件。Make工程管理器也就是“自动编译管理器”,这里的“自动”是指它能够根据文件时间戳自动发现更新过的文件而减少编译的工作量,同时,它通过读入Makefile文件的内容来执行大量的编译工作。Make将只编译改动的代码文件,而不用完全编译。2、Makefile基本结构Makefile是Make读入的唯一配置文件1、由make工具创建的目标体(target),通常是目标文件或可执行文件*(确定生成什么)*2、要创建的目标体所依赖的文件 (depe原创 2022-03-03 14:52:11 · 4870 阅读 · 0 评论 -
malloc申请内存空间
malloc申请内存空间,记录自己使用过的功能,可能介绍的内容不全面。void *malloc(size_t size);返回值是一个地址,指向你所分配给他的内存的地址。如果成功返回地址,失败则返回NULL。功能:返回所申请的一段内存的起始地址以顺序表结构体为例子#include<stdlib.h>typedef struct{ data_t data[N]; int last;}sqlist,*sqlink;sqlink L;L = (sqlink)malloc(s原创 2022-03-01 14:35:57 · 1382 阅读 · 0 评论 -
Ubuntu 14.04 网络配置
VMware中网络设置有三种,分别是:NAT、桥接和Host-only。本文仅说明NAT连接,配好后可让虚拟机上网,操作简单图文并茂。1、首先打开虚拟机的设置2、设置成NAT模式3、打开虚拟网络编辑器4、打开权限5、设置虚拟网络编辑器为NAT模式,蓝色方框中的数值不用修改,原来是多少就默认多少,然后点击确定,进行下一步。6、此就来到Windows界面,在右下角找到开始(图标像一个田字),右键点击会跳出运行,点击运行。或者直接快捷键Win+R。7、输入cmd8、直接输入ipcon原创 2022-02-24 11:37:24 · 5946 阅读 · 4 评论 -
C语言中运算符
C语言中"%=、/=、&=、^=、!=、&&、||、!、|、^、&、~"都是什么意思?原创 2022-02-23 13:55:09 · 1706 阅读 · 0 评论 -
Linux中更新缓慢或者失败,更改源地址,更改为清华园
清华园pip更改方式原创 2022-02-23 09:09:13 · 238 阅读 · 0 评论 -
typedef enum与enum的用法
typedef enum { RESET = 0, SET = !RESET} FlagStatus, ITStatus; 这句话意思就是给enum {RESET = 0, SET = !RESET}起了别名:FlagStatus和ITStatus在这之后出现的 FlagStatus和ITStatus 可以视为 enum {RESET = 0, SET = !RESET}这样做目的是为了节约代码,提升可阅读性,同时也易于维护~1,定义一种新的数据类型 - 枚举型以下代码定义了这种新的数据原创 2022-02-23 09:03:31 · 3041 阅读 · 0 评论