自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 链表

倒序打印链表:1.遍历2.申请数组/栈3.递归#include<stdio.h>#include<stdlib.h> typedef struct list{ int nValue; struct list *pNext;}List; List *CreateList(){ int nCount; //节点个数 int...

2020-04-03 20:47:03 148

原创 结构体 数组

结构体对齐:对齐的好处:结构体里调用结构体成员时,会有一个查找过程。便于查找。1: 2:3:参考::https://www.cnblogs.com/wsq-888/p/jie-gou-ti-dui-qi-gui-ze-ji-ju-li.html线性表:a1,a2,a3,a4,a4…ana1:首元素,没有直接前驱,有且仅有一个直接后继ai:中间元素,有且仅有一个直接前驱和一个...

2020-04-03 15:06:10 419

原创 基数排序

基数排序介绍基数排序(Radix Sort)是桶排序的扩展,它的基本思想是:将整数按位数切割成不同的数字,然后按每个位数分别比较。具体做法是:将所有待比较数值统一为同样的数位长度,数位较短的数前面补零。然后,从最低位开始,依次进行一次排序。这样从最低位排序一直到最高位排序完成以后, 数列就变成一个有序序列。基数排序图文说明通过基数排序对数组{53, 3, 542, 748, 14, 214...

2020-04-02 14:48:07 350

原创 桶排序

算法过程:1.找到Max,Min2.拆高位3.申请桶4.元素入桶5.桶排序6。放回原数组7.释放思想一句话总结:划分多个范围相同的区间,每个自区间自排序,最后合并。桶排序是计数排序的扩展版本,计数排序可以看成每个桶只存储相同元素,而桶排序每个桶存储一定范围的元素,通过映射函数,将待排序数组中的元素映射到各个对应的桶中,对每个桶中的元素进行排序,最后将非空桶中的元素逐个放入原序列...

2020-04-02 14:36:53 115

原创 哈希查找

方法介绍

2020-04-02 11:46:48 155

原创 指针 数组

int arr[] = {1,2,3,4,5}[]:1)定义 数组2)非定义 地址[值] 间接访问 arr[2] == 起始地址+2*sizeof(int)3)参数 形参传递 *数组名:1)一般 数组首元素的首地址 arr = &arr[0]2)sizeof & 整个数组的首地址添加链接描述添加链接描述应用1.(&a+1)乱码2.((int*)&...

2020-03-30 11:24:44 72

原创 流程 内存

内存划分:堆 栈 字符 代码 全/静栈:局部变量 函数入口地址堆:malloc 数值,字符串,地址全局变量和静态变量区别?静态变量只在当前定义文件有效,而全局变量在整个项目内有效。静态变量只初始化一次,并且在其作用域内保存其值。全局/静态 默认初始值为0堆和栈的区别1.申请不同:栈由系统分配,回收堆区由程序员申请,理应由程序员释放,如果程序员没有释放,则在程序结束由程序释放,那么会...

2020-03-29 23:29:21 82

原创 数据类型

int main(int argc,char *argv[]){return 0;}argc:字符串长度argv:argv就是我定义的一个指针数组,每个元素是一个char *类型的指针,这些指针存放着其对应字符串的首地址return 0:程序执行到此次正常退出(告诉程序激活者执行到此处正常结束)数据类型:字节整型范围1char-128—1272sh...

2020-03-29 23:05:58 86

原创 2 目录与文件

1绝对路径以/目录开始描述的路径为绝对路径2相对路径以当前位置开始描述的路径为相对路径3查看路径pwd4查看命令所在路径which5mv1)重命名mv file1 file22)移动文件mv file1 ~/6拷贝文件cp file1 file27拷贝目录cp dir1 dir2 -r8查看文本文件内容more [OPTION] FILE …查看文本文件内容,...

2020-03-28 21:31:34 215

原创 十排序,三查找

排序:1.冒泡排序:前一个元素与后一个元素进行大小比较,如果前面的比后面的大,则交换。掌握—>2个优化1)已经是有序的2)有序和无序的结合2.简单选择排序:找到当前待处理的最小值或者最大值,放到对应的位置3.直接插入排序:将待排序数据分成两部分,一部分有序,一部分无序,将元素依次插入到有序中。掌握:应用场合1)元素特别少的时候2)元素在排序前的位置距齐排好序的最终距离不远的...

2020-03-28 21:00:06 96

原创 4 查找与检索

文件名查找find内容检索grepgrep [options] PATTERM [FILE…]在指定文件中搜索特定的内容,并将含有这些内容的行输出到标准输出。若不指定文件名,则从标准输入读取。[options]部分包含的主要参数-c : 只输出匹配行的计数。-i: 不区分大小写(只适用于单字符)。-h : 查询多文件时不显示文件名。-l : 查询多文件时只输出包含...

2020-03-27 19:58:49 149

原创 6.磁盘管理

卸载卸载命令 umountsudo umount 挂载点dd:拷贝例1:拷贝光碟(注意,你的光碟是标准的iso9660格式才可以这么做)dd if=/dev/cdrom of=cdrom.iso例2:将文件sfile拷贝到文件dfile中。$dd if=sfile of=dfile例3:创建一个100M的空文件Dd if=/dev/zero of=hello.txt b...

2020-03-26 16:08:57 82

原创 7.压缩包管理

tar:归档文件tar [主选项+辅选项] 文件或者目录tar可以为文件和目录创建档案。利用tar命令用户可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。使用该命令时,主选项是必须要有的,辅选项是辅助使用的,可以选用。主选项包括:c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。r 把要存档的文件追加到档案文件...

2020-03-26 15:21:53 165

原创 8. 进程管理

who查看当前在线上的用户情况。所有的选项都是可选的,不使用任何选项时,who命令将显示以下三项内容:login name:登录用户名;terminal line:使用终端设备;login time:登录到系统时间;Ctrl + Alt + F1 :切换图形终端exit: 退出终端退回页面: Alt + F7ps [选项]ps命令用于监控后台进程的工作情况,因为后台进程是...

2020-03-26 15:01:53 77

原创 10.网络管理

ifconfig查看网卡信息 ifconfig关闭网卡 sudo ifconfig ens33 down开启网卡ens33 sudo ifconfig ens33 up给网卡ens33配置临时IP sudo ifconfig ens33 IPpingping [选项] 主机名...

2020-03-26 11:00:17 134

原创 9.用户管理

创建用户sudo useradd –s /bin/bash –g colin –d /home/colin –m colinsudo useradd –s /bin/sh –g group –G adm,root pzh此命令新建了一个用户pzh,该用户的登录shell是/bin/sh,他属于group用户组,同时又属于adm和root用户组,其中group用户组是其主组。-s 指定新用...

2020-03-26 10:33:25 105

原创 12.其它指令

创建终端1.创建终端标签:Ctrl+Shift+t2. 切换标签 Alt+n (n=1)3.新开终端 ctrl+shift+n终端翻页1.shift-pageup2.shift-pagedown清屏clear清屏。使光标和提示符回到屏幕第一行。快捷键: ctrl-lman手册常用使用形式man man 查看手册 man printf (默认从第一章开始)3.ma...

2020-03-25 21:32:23 129

原创 11.3 ssh---常用服务器构建

1. 安装ssh服务器sudo apt-get install openssh-server2. 远程登录ssh 用户名@IP

2020-03-25 20:14:27 75

原创 11.2 nfs---常用服务器构建

1. 安装nfs服务器sudo apt-get install nfs-kernel-server2. 在用户目录下创建nfs目录mkdir /home/用户名/nfs3. 设置/etc/exports配置文件sudo vi /etc/exports添加这行配置/home/用户名/nfs *(rw,sync,no_root_squash)4. 重启服务器,重新加载配置文件...

2020-03-25 20:08:12 112

原创 11.1 ftp----常用服务器构建

1. 安装vsftpd服务器sudo apt-get install vsftpd2. 进入你的/home/colin/0622/0215Server/01ftp/01——server目录下创建一个空目录,供用户上传mkdir anonymouschmod 777 anonymous1)前期准备工作, 创建匿名用户文件夹2)修改文件夹权限3. 配置vsftpd.conf文件...

2020-03-25 19:38:42 141

原创 19 静态库和共享库

写的非常详细!Add.cint Add(int a,int b){ return a+b;}Sub.cint Sub(int a,int b){ return a-b;}Common.hint Add(int a,int b);int Sub(int a,int b);main.c#include "Common.h"int main(){ p...

2020-03-25 11:32:56 163

原创 16.3 移动分屏

分屏编辑中光标的移动vi中的光标键是h,j,k,l,要在各个屏之间切换,只需要先按一下ctrl+w把光标移动到上边的屏ctrl+w k把光标移动到下边的屏ctrl+w j把光标移动到右边的屏ctrl+w l把光标移动到左边的屏ctrl+w h把光标移动到下一个的屏ctrl+w w移动分屏1.向上移动ctrl+w K2.向下移动ctrl+w J...

2020-03-25 10:50:00 157

原创 16.3 分屏操作

分屏操作:sp: 上下分屏,后可跟文件名vsp: 左右分屏,后可跟文件名Ctr+w+w: 在多个窗口切换启动分屏:1.使用大写O参数进行垂直分屏$ vim -On file1 file2 …2.使用小写o参数进行水平分屏$ vim -on file1 file2 …注: n是数字,表示分屏的数量,n要大于等于文件个数关闭分屏关闭当前窗口ctrl+w c关闭当前窗口...

2020-03-25 10:20:11 123

原创 可视 替换 查找 替换命令

可视模式:v: 按字符移动,选中文本V: 按行移动,选中文本可视模式可以配合 d, y, >>, << 实现对文本块的删除,复制,左右移动替换操作:r: 替换当前字符R: 替换当前行光标后的字符查找命令:/: str查找n: 下一个N:上一个替换命令:把abc全部替换成123 :%s/abc/123/g同上,但要用户一个个确认是否替换:%s/abc/...

2020-03-25 09:50:18 73

原创 删除 撤销 重复

删除命令:x: 删除光标后一个字符,相当于 DelX: 删除光标前一个字符,相当于 Backspacedd: 删除光标所在行,n dd 删除指定的行数D: 删除光标后本行所有内容,包含光标所在字符d0: 删除光标前本行所有内容,不包含光标所在字符dw: 删除光标开始位置的字,包含光标所在字符撤销命令:u: 一步一步撤销U: 一次性撤销当前行所作的所有操作Ctr-r: 反撤销重...

2020-03-24 22:58:51 105

原创 插入 移动 复制粘贴

进入插入模式:i: 插入光标前一个字符I: 插入行首a: 插入光标后一个字符A: 插入行未o: 向下新开一行,插入行首O: 向上新开一行,插入行首移动光标:h: 左移j: 下移k: 上移l: 右移M: 光标移动到中间行L: 光标移动到屏幕最后一行行首G: 移动到指定行,行号 -Gw: 向后一次移动一个字b: 向前一次移动一个字{: 按段移动,上移}: 按段移动,...

2020-03-24 21:21:43 202

原创 Linux的关机与重启命令

命令格式[root@localhost ~]# shutdown [选项] 时间 [警告信息]选项:-c:取消已经执行的 shutdown 命令;-h:关机;-r:重启;【例 1】重启与定时重启。先来看看如何使用 shutdown 命令进行重启:[root@localhost ~]# shutdown -r now#重启, now是现在重启的意思[root@localhost ...

2020-03-24 20:48:57 169

转载 Top(K)问题---堆排序应用

Top(k)问题详细描述,超级详细!!

2020-03-24 20:10:26 90

原创 堆排序优化---HeapSort

2020.3.24--------优化代码量由于上篇文章堆排序存在大量的重复代码,因此我们可以定义一个最大值MAX.完全二叉树是从右向左依次赋空的,只有存在左孩子的情况下才会有可能存在有孩子。1.定义MAX = Left2.如果存在右孩子,比较左右孩子大小。如果右孩子比左孩子大,讲Right赋值给MAX3.比较arr[MAX]与父亲节点的大小。如果比父亲节点大,交换,重新定义父亲节点#i...

2020-03-24 16:46:40 121

转载 堆排序-----HeapSort

1. 完全二叉树上图,就是一个完全二叉树,其特点在于:从作为第一层的根开始,除了最后一层之外,第N层的元素个数都必须是2的N次方;第一层2个元素,第二层4个,第三层8个,以此类推。而最后一行的元素,都要紧贴在左边,换句话说,每一行的元素都从最左边开始安放(生成的顺序是从上往下,从左往右),两个元素之间不能有空闲,具备了这两个特点的树,就是一棵完全二叉树。2.小根堆我们假设有一棵完全二...

2020-03-24 16:21:35 141

原创 逆序对的数量-------归并排序应用

题目描述给定一个长度为n的整数数列,请你计算数列中的逆序对的数量。逆序对的定义如下:对于数列的第 i 个和第 j 个元素,如果满 i < j 且 a[i] > a[j],则其为一个逆序对;否则不是。数据范围1≤n≤100000输入样例:62 3 4 5 6 1输出样例:5算法思路:1.利用归并算法,分区mid=l+r>>22.递归,left[l,mi...

2020-03-24 11:19:35 151

原创 归并排序

将两个的有序数列合并成一个有序数列,我们称之为"归并"。归并排序(Merge Sort)就是利用归并思想对数列进行排序。根据具体的实现,归并排序包括"从上往下"和"从下往上"2种方式。从下往上的归并排序:将待排序的数列分成若干个长度为1的子数列,然后将这些数列两两合并;得到若干个长度为2的有序数列,再将这些数列两两合并;得到若干个长度为4的有序数列,再将它们两两合并;直接合并成一个数列为...

2020-03-24 08:51:21 105

转载 希尔排序

希尔排序是1959年,Shell发明的,这是第一个突破O(n2)的排序算法,他与直接插入排序不同的是,他会优先比较距离较近的元素。因此,希尔排序又叫做缩小增量排序。1、算法思想其工作原理是定义一个间隔序列来表示排序过程中进行比较的元素之间有多远的间隔,每次将具有相同间隔的数分为一组,进行插入排序,大部分场景中,间隔是可以提前定义好的,也可以动态生成。希尔排序的实质就是分组的插入排序2、优缺...

2020-03-23 15:34:56 442

原创 枢轴优化

如何避免枢轴选取的是最大值或最小值?1.先找最小值最大值(耗费时间,得遍历一遍)2.首位中间三个数比较,选出中间的数。(二个数字相同—小概率)3.rand14.rand3,选中间值随机数值,靠系统时间(小概率事件—时间消耗,有可能随机到同一个位置)5.9选一,分成三组,在每一组中选择三个数的中间值,然后再从三个中间值中选取中间值。4.枢轴重复:8,12,13,8,2,8,1,8,8...

2020-03-23 14:03:16 157

原创 快速排序----区间分割法

#include<stdio.h>int Sort(int arr[],int nLow,int nHigh){int temp;temp = arr[nLow];while(nLow < nHigh){ //从后向前找比标准值小的 while(nHigh > nLow) { //找到了 if(arr[nHigh] < temp) { ...

2020-03-23 12:45:20 894 4

原创 快速排序--挖坑填补法

看了这片文章,确实非常形象,http://blog.csdn.net/morewindows/article/details/6684558QuickSort:找一个标准值(枢轴),将比标准值小的放到左侧,比标准值大的放在它右侧,根据标准值位置将当前数据分割成两部分,两部分分别重复以上以上操作#include<stdio.h>int Sort(int arr[],int nLo...

2020-03-23 10:33:11 167

原创 VM

蓝色:目录$:普通用户查看文件内容:cat + " " + “文件名”shell:命令解析器echo-----------1)命令回显 echo “内容”----------------2)往文件输入内容 echo “内容” > 文件名----------------3)查看变量内容CTRL + L :清屏查看历史命令: history终止当前进程:CTRL + C绝对路...

2020-03-03 18:44:04 385

原创 stack-queue

#include <iostream>#include <stack>#include <queue>using namespace std;// 栈: 先进后出, 中间的位置是不能操作。// 队列: 先进先出, 中间的位置是不能操作// 栈和队列 用来临时的存储数据,初始状态和终止状态是NULLint main(){ stack...

2019-10-29 20:07:45 64

原创 algorithm

#include <iostream>#include <vector>#include <algorithm>#include <time.h>using namespace std;// list 和 vector 如何选择// list 便于动态的添加删除// vector 便于读取数据void Show(int...

2019-10-29 20:04:49 92

原创 Set

Set的特性是,所有元素都会根据元素的键值自动被排序,Set 的元素不像Map那样可以同时拥有实值和键值,Set 元素的键值就是实值,实值就是键值。Set 不允许两个元素有相同的键值。#include<iostream>#include <set>using namespace std;// set 集合 可以去除重复int main(){ int arr...

2019-10-29 20:01:38 53

空空如也

空空如也

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

TA关注的人

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