自定义博客皮肤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 90

原创 看了这个你就会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 135

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

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

2021-06-07 15:00:38 169

原创 看了这个你就会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 126 2

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

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

2021-06-06 16:50:30 67

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

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

2021-03-31 15:40:23 100

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

看了这个你就会快速排序了!快速排序:(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 107 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 129

原创 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 193

原创 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 1144

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

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

2020-11-22 20:34:47 995

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

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

2020-11-19 18:25:26 110

原创 排序算法之——希尔排序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 81

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

排序算法之——直接插入排序算法原理:将数据分成两部分,前一段是已经有序的数据(初始时,前一段数据只有一个),后一段是无序的数据。从无序数据中拿一个数据(左边第一个数据),插入到前一段的有序数据中,使有序数据依旧有序。时间复杂度: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 74

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

排序算法之——选择排序算法原理: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 55

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

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

2020-11-16 16:08:41 417

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

系统调用函数中的文件操作函数: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 1019

原创 linux上的简单操作指令

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

2019-04-22 21:58:01 267

原创 位运算

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

2019-03-22 20:29:20 113

原创 类型转换

类型转换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 102

原创 魔方阵的计算

魔方阵:魔方阵的排列规律如下:(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 439

原创 动态内存

动态内存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 199

原创 二维数组

一维数组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 228

原创 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 235

原创 指针算术运算

指针的加法: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 190

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

#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 733

空空如也

空空如也

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

TA关注的人

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