自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

翻译 看了这个你就会MySQL了(五)!!!

看了这个你就会MySQL了(五)!!! 什么是事务 一个事务其实就是一个完整的业务逻辑。 本质上,一个事务其实就是多条DML语句同时成功,或者同时失败! 是一个最小的工作单元。不可再分。 什么是一个完整的业务逻辑? 假设转账,从A账户向B账户中转账10000. 将A账户的钱减去10000(update语句) 将B账户的钱加上10000(update语句) 这就是一个完整的业务逻辑。 以上的操作是一个最小的工作单元,要么同时成功,要么同时失败,不可再分。 这两个update语句要求必须同时成功或

2021-06-07 16:58:18 170

原创 看了这个你就会MySQL了(四)!!!

看了这个你就会MySQL了(三)!!! 插入数据insert 语法格式:   insert into 表名(字段名1,字段名2,字段名3…) values(值1,值2,值3);   注意:字段名和值要一一对应。什么是一一对应?   数量要对应。数据类型要对应。 mysql> insert into t_student(no,name,sex,age,email) values(4,'zhangsan','m',20,'zhangsan@123.com'); Query OK, 1 row affect

2021-06-07 15:23:14 242

原创 看了这个你就会Mysql了(三)!!!

看了这个你就会Mysql了(三)!!! 表的创建create create table 表名(      字段名1 数据类型,      字段名2 数据类型,      字段名3 数据类型 ); 表名:建议以t_ 或者 tbl_开始,可读性强。见名知意。 字段名:见名知意。 表名和字段名都属于标识符。 关于mysql中的数据类型? 很多数据类型,我们只需要掌握一些常见的数据类型即可。 varchar(最长255) 可变长度的字符串 比较智能,节省空间。 会根据实际的数据长度动态分配空间。

2021-06-07 15:00:38 269

原创 看了这个你就会MySQL了(二)!!!

看了这个你就会MySQL了(二)!!! 数据查询语言DQL 简单查询 查询一个字段 select+字段名+from+表名 mysql> select dname from dept; +------------+ | dname | +------------+ | ACCOUNTING | | RESEARCH | | SALES | | OPERATIONS | +------------+ 4 rows in set (0.43 sec) 查询两个或多个字段 使用逗号分

2021-06-06 20:55:41 277 2

原创 看了这个你就会Mysql了(一)!!!

看了这个你就会Mysql了!!! 1、什么是数据库?什么是数据库管理系统?什么是SQL?他们之间的关系是什么? 数据库(DB) Database,简称DB。按照一定格式存储数据的一些文件的组合。    顾名思义:存储数据的仓库,实际上就是一堆文件。这些文件中存储了具有特定格式的数据。 数据库管理系统(DBMS)    DataBaseManagement,简称DBMS。    数据库管理系统是专门用来管理数据库中数据的,数据库管理系统可以对数据库当中的数据进行增删改查。    常见的数据库管理系统:    

2021-06-06 16:50:30 140

原创 看了这个你就会编译链接原理了!

编译链接原理    计算机系统是由硬件和系统软件组成的,它们共同工作来运行程序。比如一个简单的hello程序,为了让它实现运行,系统的每个组成部分都需要协调工作。    hello程序的生命周期是从一个高级的语言程序开始,例如:C/C++,因为这种程序能够被人读懂。但是系统不能直接读懂你所写的高级语言。所以每条语句都被其他程序转换为一系列的低级机器语言指令。然后这些指令按照一种称为可执行目标程序的格式打好包,并以二进制磁盘文件形式存放起来。目标文件也可称为可执行目标文件。    在Unix系统上,从源文件到

2021-03-31 15:40:23 200

原创 看了这个你就会快排了!

看了这个你就会快速排序了! 快速排序:(C++版) 完整代码在后文!!! 挖坑法:(递归) 思想: 1、先设定一个基准数,一般取数组的第一个数做为基准数。 2、设置两个变量,left和right,让left指向数组第一个数,right指向数组的最后一个数。即left = 0;right = n - 1; 3、right一直向前走,直到找到一个比基准数小的数,将right目前指向的数赋值给left目前指向的数。 while(left < right && ar[right] > t

2021-03-30 23:24:10 255 2

原创 Linux系统下mybash的实现,主功能块

Linux系统下mybash的实现,主功能块 在Linux系统下bash可以执行其他命令和进程,核心原理就是进程的复制和进程替换,具体如下: 1、bash作为父进程,一直循环 2、如果要执行一个命令,bash进程复制一个子进程 3、用自己写的相关的命令操作来替换该子进程,实现其命令操作 4、子进程实现了它的功能后,返回到bash进程 注意: 1、因为Linux的命令都是在PATH下查找,执行时内存自动在/etc/bin里面查找命令的可执行程序,所以我们要想执行自己写的命令,我们需要重新设置默认的路径 2、c

2020-11-29 15:03:37 211

原创 Linux系统下mybash中pwd和ls命令的实现

Linux系统下mybash中pwd和ls命令的实现 1、pwd的实现: 调用getcwd函数来实现 #include<unistd.h> #include<stdio.h> #include<stdlib.h> int main() { char dir_buff[512] = {0}; getcwd(dir_buff,512); printf("%s\n",dir_buff); exut(0); } 2、ls命令的实现 ls的实现先调用函数getcwd获得

2020-11-29 14:33:01 309

原创 Linux系统下mybash打印信息函数Print_info()的实现

Linux系统下mybash打印信息函数Print_info()的实现 mybash: 在Linux系统中,命令的执行一般都是通过bash进程创建一个子进程,然后子进程进行替换,替换成可执行的命令文件。 显示信息: 在Linux下。打开终端一般会显示以下界面。这里面包含了用户信息、主机信息、和当前所在的文件夹(即所在位置信息),首先我们来实现它。 这里的的lx指的就是用户信息。lx-PC指的是主机信息,后面的 /Desktop/Study/mycode/mybash 指的就是当前所在文件夹的位置。 1、怎

2020-11-29 14:06:49 1343

原创 排序算法之——二路归并排序

排序算法之——二路归并排序 二路归并排序的思想: 一次排序过程,将已经各自有序的两个段的数据合并一个段,并且合并后依旧有序 开始,我们认为单个数据是有序的,一个数据就是一个段,一次排序之后,两个数据就是一个有序数据段,这样下一次每个数据段就是两个数据。最后将其合并成一个完成有序段,则整个数据就已经排序好了 时间复杂度: O(nlog(n)) 空间复杂度: O(n) 稳定性: 稳定 代码实现: void Meger(int* arr, int len, int width, int *brr) { int

2020-11-22 20:34:47 1204

原创 排序算法之——快速排序

排序算法之——快速排序 快排的思想: 1、先在数据中找一个基准数据:一般为待排序数据的第一个,或者随机数,三位数取中 2、将数据按照基准数据分为两部分,前一段都比基准小,后一段都比基准大。 3、按照同样的思想分别处理前一段和后一段数据。 按照一个基准数据,将待排序数据段分成两部分: 数据段为start到end之间的数据。先将基准数据(start位置)保存到tmp中,i = start; j = end。在i < j 的时候,重复执行以下两个过程: 1、通过j从后往前找第一个比基准数据小的数据,找到后

2020-11-19 18:25:26 247

原创 排序算法之——希尔排序shellsort

排序算法之——希尔排序 算法原理: 1、先将数据分为d个组,在每一组数据中使用直接插入排序算法来进行排序。void Shell 先比较同组前两个数据,再比较比较之后的同组的后两个数据 2、接着继续将数据分组(分组数越来越小),最后一次分组肯定为1,每一个分组数一般是互质的(5,3,1) void ShellSort 目的: 使得整个数据越来越有序 时间复杂度: O(n^1.3 --1.5) 空间复杂度: O(1) 稳定性: 稳定 代码实现: void Shell(int* arr, int len

2020-11-16 21:08:33 158

原创 排序算法之——直接插入排序

排序算法之——直接插入排序 算法原理: 将数据分成两部分,前一段是已经有序的数据(初始时,前一段数据只有一个),后一段是无序的数据。从无序数据中拿一个数据(左边第一个数据),插入到前一段的有序数据中,使有序数据依旧有序。 时间复杂度: O(n^2) 空间复杂度: O(1) 稳定性: 稳定 思路图示: 代码实现: void InsertSort(int* arr, int len) { for (int i = 1; i < len;++i)//i负责遍历无序数据段 { int tmp =

2020-11-16 19:35:32 146

原创 排序算法之——选择排序

排序算法之——选择排序 算法原理: 1、先遍历一遍整个待排序数据,找到当前最大数据的位置 2、将最大数据标记,与当前最后一个位置元素做交换 3、重复1、2步骤,直到只剩一个数据 4、上述的步骤每遍历一遍,下一次就少遍历一次数据 时间复杂度: O(n^2) 空间复杂度: O(1) 稳定性: 因为是将最大数据直接和最后一个数据做交换,所以不稳定 代码实现: void SelectSort(int* arr, int len) { for (int j = 0; j < len - 1; ++j)

2020-11-16 16:20:14 138

原创 排序算法之——冒泡排序

排序算法之——冒泡排序 冒泡排序因其在排序中相邻元素不断交换,一些元素被换到后面,看起来像元素在冒泡一样而得名。 算法原理: 冒泡排序的原理(以递减为例)是每次从头开始比较相邻的元素,如果后面的比前面的小,则交换。循环完毕后再次从头扫描,直到某次扫描没有元素可交换,程序完成。 时间复杂度: O(n^2) 空间复杂度: O(1) 稳定性: 没有发生隔几个的数据交换,所以稳定 代码实现 void BubbleSort(int* arr, int len) { for (int i = 0; i < le

2020-11-16 16:08:41 591

原创 用系统调用函数中的文件操作函数实现普通文件的拷贝

系统调用函数中的文件操作函数: 1、open: int open( const char *filename,int flag,/int mode/) filename :文件路径+文件名 flag:打开方式 O_RDONLY->只读,O_WRONLY->只写,O_RDWR->读写 O_APPEND->追加,O-TRUNC->清空,O_CREAT->创建 通过按...

2019-05-25 20:46:53 1106

原创 linux上的简单操作指令

基本操作命令: 调节气体大小:字体变大ctrl+shift+等号键位、字体变小ctrl±。 打印当前目录开始的路径:pwd 切换当前工作目录:cd+路径 eg:cd +空格+/home 切换上级目录:cd+空格+… eg:home的上级文件为/ 显示当前目录下的文件:ls 显示当前文件下所有的文件(隐藏文件:文件名以“.”开头):ls+空格+ -a 文件操作命令: 创建文件:1普通文件:touc...

2019-04-22 21:58:01 357

原创 位运算

位运算: 1、位运算符号:&,|,^,~(取反,不分正负数),<<(标准规定在右边补0), >>(正数则左边补0) |(或):0和任何数字按位或都为不变,1和任何数字按位或都为1。 &(与):0和任何数字按位与都变0,1和任何数字按位与都不变。 ^(按位异或):0和任何数字按位异或都为不变,1和任何数字按位异或都为取反。 10 0000 1010 1...

2019-03-22 20:29:20 204

原创 类型转换

类型转换 1.默认,数据类型有窄向宽的转 2.同级别,无符号比有符号宽 3.整型起 4.整数默认为int,小数默认为double 例子: int main() { unsigned short a = 10; unsigned int b = 10; if(a < -1) { printf("a<-1\n"); } else { printf("a>-1\n...

2019-03-22 19:53:51 281

原创 魔方阵的计算

魔方阵: 魔方阵的排列规律如下: (1)将1放在第一行中间一列; (2)从2开始直到n×n止各数依次按下列规则存放;每一个数存放的行比前一个数的行数减1,列数加1(例如上面的三阶魔方阵,5在4的上一行后一列); (3)如果上一个数的行数为1,则下一个数的行数为n(指最下一行);例如1在第一行,则2应放在最下一行,列数同样加1; (4)当上一个数的列数为n时,下一个数的列数应为1,行数减去1。例如...

2019-03-05 15:46:21 550

原创 动态内存

动态内存 malloc; calloc; realloc; free; 作用: malloc:申请内存; calloc:初始化为0; realloc:修改内存大小; free:释放内存; 动态申请100整型单元,且每个单元值为0: int *arr=(int *) malloc(100*sizeof (int)); for(int i=0;i&lt;100;i++) { arr[i]=0;...

2019-03-05 13:28:19 244

原创 二维数组

一维数组 int arr[4]; 数据类型 arr; int *x; arr+1; int *x; arr[0]; int x; arr[0]+1; int x; 二维数组 int brr[3][4]; //数据类型 brr; int(*x)[4];...

2019-03-04 21:23:10 259

原创 const的使用

const的使用: 作用:定义常变量,不允许修改其值 。例如 int const ca = 10; 1、基本的数据类型对于const是透明的。int const ca = 0;const int cb=0;ca和cb是等价的 2、const 限定它的直接右边 3、权限可以缩小或者同等传递,但不能放大 int a = 10; int b = 20; const int ca = 10; const ...

2019-03-04 20:31:22 274

原创 指针算术运算

指针的加法:1:指针+1,加1字节。 2:指针+1,加1个单元格。 3:指针+1,加整个数组。(无意义) 1:指针+1,加1字节 *p=10; p++; p=20; printf("%d %d\n",arr[0],arr[1]); 第一行单元格表示,一个单元格表示4个字节,第二行表示第一行的单元格扩大四倍,一个表示1个字节。p=10,把10赋值给第一行hi一个格子,而在第二行中必须化为16进制,...

2019-02-25 20:30:29 291

原创 一个数的位数,逆序输出,每个数字

#include&amp;lt;stdio.h&amp;gt; #include&amp;lt;math.h&amp;gt; int GetFigures(int n)## 标题一个数的位数,逆序输出,每个数字 { int i=0; while(n!=0) { n=n/10; i++; } return i; } int PrintReverse(int n) { int a; while(n!=0) { a=n%10; n/...

2018-11-30 22:15:08 835

空空如也

空空如也

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

TA关注的人

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