![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
基础学习
文章平均质量分 66
乐十九
这个作者很懒,什么都没留下…
展开
-
Chrony时间同步程序
Chrony简介初识ntpntp报文详解ntp的工作原理深入聊一聊chrony欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入MarkdownText-to-HTMLAuthorsJohnLuke。原创 2024-01-26 01:12:20 · 702 阅读 · 0 评论 -
mysql基本语法(续)
它与前面的普通索引类似,不同的就是:索引列的值必须唯一,但允许有空值。不过union默认就是删除重复数据的,所以distinct对union 的结果没什么影响。事务可以保证数据的原子性,隔离性和持久性,但是不能保证数据的一致性,数据的一致性要靠开发者来保证。这条语句创建索引的值必须是唯一的(除了NULL外,NULL可能会出现多次)。可以使用任意列作为排序的条件,按照ASC(升序)或者DESC(降序)来排序。该语句添加一个主键,这意味着索引值必须是唯一的,且不能为NULL。添加普通索引,索引值可出现多次。原创 2022-09-27 14:12:17 · 211 阅读 · 0 评论 -
mysql基本语法的使用
mysqladmin --version || 查看mysql版本。原创 2022-09-26 23:46:01 · 479 阅读 · 0 评论 -
二叉搜索树
初识二叉搜索树原创 2022-08-31 15:15:07 · 212 阅读 · 0 评论 -
合并K个升序链表
目录题目示例1示例2解题思路那么新的问题有来了,我们如何将时间复杂度降到O(nlongK)呢?题目合并 k 个升序的链表并将结果作为一个升序的链表返回其头节点。数据范围:节点总数满足 0≤n≤1050 \le n \le 10^50≤n≤105,链表个数满足 1≤k≤105 1 \le k \le10^5 \ 1≤k≤105 ,每个链表的长度满足 1≤len≤200 1 \le len \le 200 \ 1≤len≤200,每个节点的值满足 ∣val∣<=1000|val| <=原创 2022-05-19 21:53:11 · 898 阅读 · 0 评论 -
Linux操作系统
这里写自定义目录标题Linux操作系统的发展Linux的目录总结:Linux的目录结构是一颗倒装树![在这里插入图片描述](https://img-blog.csdnimg.cn/20210607152559978.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzUxNzI1NzIz,size_16,color_FFFFFF,t_70)文件的原创 2022-05-18 20:25:34 · 153 阅读 · 0 评论 -
Linux命令
第一部分:命令man//查看帮助手册//1.文件操作命令touch//创建文本文件ls//查看当前目录下的文件mkdir//创建目录文件rmdir//删除空目录文件,不能删除非空目录,删除非空目录要加 -rcp//拷贝文件 cp a.c b.c=>将a.c拷贝到b.c中rm//删除命令 删除目录文件要加参数 -r rm -r tmpmv//剪切或者移动文件,重命名chmod//改变文件权限 u属主 g同组用户 o其他用户;权限:r读权限(4),w写权限(2),x执行权限(1),-原创 2022-05-18 20:23:35 · 135 阅读 · 0 评论 -
编译链接运行原理
第一节:编译链接运行原理一、编译链接原理当我们历经千辛万苦,将解决一些问题的程序代码写好之后,便来到了“程序”人生中最重要的一步,我们创造了程序但是光创造还是不行的,还需要让我们的程序可以运行起来,才能达到我们的目的。那么一个程序,从编译到运行都要经历那些步骤呢?我们接着往下看:简单来说:我们的程序只需要经过以下几个步程序编译链接的过程:预编译,编译,汇编,链接,运行预编译:删除所有注释,并将“#”的头文件在当前位置展开,得到一个新的.i文本文件编译:将.i文本文件通过编译器编程汇编代码,得原创 2022-05-18 20:22:29 · 1288 阅读 · 1 评论 -
观察者模式------C++时间股票信息的提醒
一、实验内容利用观察者模式实现股票信息的接收。实例说明:某在线股票软件需要提供以下功能:当股票购买者所购买的某只股票的变化幅度达到5%时,系统将自动发送通知(包括新价格)给购买该股票的股民。现使用观察者模式设计该系统,会之类涂并变成模拟实现。二.设计类图设计思路:股票是目标类股民是抽象观察者具体人是具体的观察者须在目标类中注册观察者三、类具体代码(要求有相关注释)#include<iostream>#include<string>#include<L原创 2022-05-18 20:19:18 · 908 阅读 · 0 评论 -
外观模式------C++实现文件加密功能
一、实验内容利用外观模式实现文件加密功能。实例说明:某系统需要实现一个文件加密模块,加密流程分为三个操作,分别是读取文件,加密,保存加密之后的文件。保存文件和读取文件使用流来实现,这三个操作相对独立,其业务代码封装在三个不同的类中。现需要提供一个统一的加密外观类,用户可以直接使用该加密外观类完成文件的读取,加密和保存三个操作,而不需要与每一个类进行交互,使用外观设计模式设计该加密模块。实现类图进行代码,并编写客户端,测试运行代码。二.设计类图 ![在这里插入图片描述](https://img-b原创 2022-05-18 20:17:09 · 1059 阅读 · 2 评论 -
建造者模式------C++实现游戏人物的设定
一、实验内容利用建造者模式实现游戏人物设定。 实例说明:某游戏软件中人物角色包括多种类型,不同类型的人物角色,其性别、脸型、发型等外部特征有所差异,使用建造者模式创建人物角色对象,要求绘制类图并编程实现。二.设计类图三、类具体代码(要求有相关注释)#include<iostream>#include<string>using namespace std;//角色类,这里只声明了角色的类型、性别、脸型和发型等属性class Actor{private: stri原创 2022-05-18 20:14:56 · 1369 阅读 · 0 评论 -
抽象工厂模式------设计模式实验报告(C++实现)
一、实验内容利用抽象工厂模式实现不同数据库连接。要求按照P102页6.3.2实例说明,实现类图代码,并且编写测试客户端,给出动态更换数据库的运行结果。二.设计类图三、类具体代码(要求有相关注释) //Connection接口:class Connection{public: //连接函数,不同的数据库有不同的连接方式,定义为虚函数,完成多态 virtual void connect() = 0 { cout << "connect sucessful!" <原创 2022-05-18 20:11:53 · 1313 阅读 · 0 评论 -
const关键字实在神通广大
使用const的好处在于他允许一种指定语义上的约束:即某种对象不能被修改,且有编译器来实施这种约束。对于指针来说,可以指定指针本身为常量,也可以指定指针志向的数据为常量,或者二者同时为常量。那么如何区分呢?我们可以以“”为分界线,如果const出现在的左边那么那么指针志向的数据为常量,如果在右边那么指针本身为常量,如果两边都有,那么就都是常量。在函数的声明中,const可以指向函数的返回值,或者某个参数;对于成员函数,还可以指向整个函数。“让函数返回一个常量经常可以在不降低函数安全性和效率的前提下减少用原创 2022-03-15 18:57:55 · 59 阅读 · 0 评论 -
shell 脚本编程
shell编程(脚本编程)#!/usr/bin/bashecho "hello"exit 0 为脚本文件更改权限之后,加上执行权限,就可以当做可执行文件来执行,但是区别于.exe文件C/C++ 编译型:xxx.c 编译生成二进制可执行程序,直接运行可执行程序(运行效率高,开发效率低)shell 解释型:需要解释器,通过解释器解释执行(开发效率高,运行效率低)当对性能不作要求的时候,我们使用解释型语言会更加高效写的是一个脚本文件,但是运行的是一个解释器,通过解释器来解释脚原创 2022-03-09 09:43:34 · 1346 阅读 · 2 评论 -
MySQL数据库操作
数据库概念数据库就是存放数据的仓库,他是一个按照数据结构来存储和管理数据的计算机软件系统。MySQL数据库是一种C/S模型(即客户端和服务器模型),客户端通过用户名,密码登录连接服务器,连接成功后,才可以进行数据库操作(增删改查等)RDBMS:关系数据库管理系统(relational data base management system)SQL :结构化查询语言数据库分类关系型数据库关系模型就是指二维表格,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。关系型数据库的核原创 2022-03-08 12:15:21 · 941 阅读 · 4 评论 -
C语言——文件操作
这里写自定义目录标题C语言中的文件是什么文件的三要素:文件路径,文件名,后缀。预定义标准流:流的概念:通常把抽象出来的“标准逻辑设备”或者“标准文件”称作“流”。C语言操作文件分为三步:(可以联想为把大象关进冰箱的三个步骤)打开文件函数原型关闭函数fclose的原型:int fclose(FILE* strem)字符串格式化函数:int sprintf(char *str,const char*format,...)格式化写入函数:int fprintf(FILE*strem,const char*form原创 2022-03-04 23:18:17 · 384 阅读 · 0 评论 -
加锁的应用
#include<stdio.h>#include<stdlib.h>#include<assert.h>#include<pthread.h>#include<unistd.h>#include<semaphore.h>#include<string.h>pthread_mutex_t mutex;pthread_cond_t cond;void* fun1(void* arg){char* s =原创 2022-03-04 23:10:02 · 58 阅读 · 0 评论 -
GDB调试学习心得
Gdb是一款强大的调试工具,虽然没有图形化界面但是,其功能却更加强大一个调试案例tst.c#include<stdio.h>int fun(int n){ int sun=0; for(int i=0;i<n; ++i) { sum+=1; } return sum;}int main(){ int i=0; long result=0; for(i =1;i<=100;++i) { result += i; } printf(原创 2022-03-04 19:26:31 · 450 阅读 · 0 评论 -
new的三种用法
new的三种用法第一种 :创建一个新对象Test* p= new Test(10);这里的new的用法是创建一个新的Test型的对象,该用法一共有三个步骤:1.申请一个空间2.在申请的空间当中构造一个对象,并将该对象放置到空间中3.将空间的地址返回第二种:申请空间Test* s=(Test*)::operator new(sizeof(Test));operator new的作用同malloc的作用相同,都是申请一个空间,区别在于,返回值不同;当空间不足时malloc会返回一个“n原创 2022-02-22 21:38:33 · 8403 阅读 · 2 评论 -
leetcode刷题第一天
平方后排序和轮转数组原创 2021-12-30 20:31:47 · 542 阅读 · 0 评论 -
使用面向对象的方法封装一个堆Heap
直接上代码#include<stdio.h>#include<stdlib.h>#include<iostream>using namespace std;#define INITSIZE 10class MyHeap{public: MyHeap() { cout << "MyHeap()" << endl; _len = INITSIZE; _val_len = 0; data = new int[INI原创 2021-11-13 10:08:37 · 208 阅读 · 0 评论 -
函数调用过程
参数入栈4字节参数入栈,参数的入栈顺序的从右向左依次入栈,方式:使用寄存器带入。8字节参数入栈,参数的入栈顺序是从右到左,方式也是使用寄存器push带入#include<stdio.h>int fun(int a,int b){ int c=0; c=a+b; return c;}int main(){ int a=10; int b=20; fun(a,b); return 0;} 8字节是个分界线,超过8字节原创 2021-10-10 21:07:16 · 203 阅读 · 0 评论 -
如何计算结构体的大小
计算结构体大小的三条规则:结构体变量的首地址必须是“结构体最大成员变量所占字节数的整数倍”结构体变量的成员的偏移量必须是该成员变量所占字节数的整数倍结构体变量的总大小必须是最大结构体成员变量所占字节数的整数倍字节对齐问题:内存的基本变量是字节,理论上说是可以从任何地址访问内存,但实际上不是,CPU访问内存是以2、4或8 的倍数来读取字节块的,因此就会对一些基本类型的地址做出一些限制,既他们的内存地址必须是2、4或者8的倍数,这就是内存对齐2.有些平台是从偶数位开始读,有的则是奇数位原创 2021-09-03 17:44:39 · 589 阅读 · 0 评论 -
库函数和系统调用的联系与区别
这里写自定义目录标题一、系统调用的概念库函数系统调用的意义功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入一、系统调用的概念系统调用我们可以理解为是操作系统为用户提供的一系列操作的接口(API),这些接口提供了对系统硬件设备功能原创 2021-08-31 17:22:39 · 2662 阅读 · 1 评论 -
寄存器和常用的汇编指令
寄存器是什么寄存器是CPU的一部分,所以寄存器与CPU的数据传输是最快的,但是也决定了,寄存器的数量有限。32位机子通用寄存器有八类:eax:累加和结果寄存器ebx:数据指针寄存器ecx:循环寄存器edx:i/o指针esi:源地址寄存器edi:目的地址寄存器ebp:堆栈指针esp:栈指针寄存器常用的汇编指令功能快捷键撤销:Ctrl/Command + Z重做:Ctrl/Command + Y加粗:Ctrl/Command + B斜体:Ctrl/Command + I标题:C原创 2021-04-20 11:42:11 · 698 阅读 · 0 评论 -
C语言中的关键字
C语言中所有的关键字关键字是程序语句的基本构成块,所有的关键字都必须小写数据类型:char:字符型,1byteshort:短整型,2byteint:整型,4bytelong:长整型,8bytelong int:4bytelong long:8bytedouble:双精度浮点型,8bytefloat :浮点型,4bytelong double:16byteBoolean:布尔型,1byte(0000 0001或者0000 0000)void:声明函数无返回值或者无参数,声明无类型指原创 2021-04-12 16:45:21 · 1696 阅读 · 0 评论 -
The trick to learning programming is to practice more-----------Repetition is power!!!
小程序 编程练习(本人初学,编程方式和风格还有很多不足之处,希望各位大牛多多包涵,如果可以指教一二,更是感激涕零)1、已知某个圆的半径,请编写一个程序,用来计算并显示圆的面积。#include <stdio.h>#define PI 3.1416 // 定义一个符号常量用来表示圆周率int main() { int r; float area; printf("Enter the radius of the circle:\n"); scanf_s("%d", &r);原创 2021-04-09 22:38:16 · 148 阅读 · 1 评论 -
常量与变量
全局变量与局部变量变量:是以标识符为名字,其数值可以改变(可读,可写)常量:值不可以改变的量(可读,不可写)变量1、变量的定义:所谓的定义变量就是给变量分配一块内存,并给他取上一个名字,这个名字就是我们所说的变量名。一个变量在一个局域(函数,或者全局)内只能定义一次,否则将报错。2、全局变量和局部变量(1).全局变量就是在函数外定义的变量,其在整个函数内都能起作用。(2).局部变量是在函数中定义的变量,其作用域只在定义它的函数内(3).当全局变量与局部变量同名时,采用向上就近原则,如果一定要原创 2021-04-08 23:50:53 · 127 阅读 · 0 评论