自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 资源 (1)
  • 收藏
  • 关注

原创 排序算法:9.基数排序

 #include<iostream>using namespace std;#include<stdio.h>#include<stack>#include<list>#include<assert.h>#define BUFFER_SIZE 256//排序之基数排序(先分散,再收集)list<int>...

2018-08-14 10:33:08 206

原创 排序算法:6.插入排序之希尔排序

 #include<iostream>using namespace std;#include<stdio.h>#include<stack>#include<list>#include<assert.h>#define BUFFER_SIZE 256void shellsort(int a[], int n){ ...

2018-08-14 10:20:31 212

原创 排序算法:4.选择排序之直接选择排序

#include<iostream>using namespace std;#include<stdio.h>#include<stack>#include<list>#include<assert.h>#define BUFFER_SIZE 256void swap(int *a, int *b){ int tem...

2018-08-14 09:26:57 204

原创 AVL树的插入和删除

#pragma once#include<stack>#include<iostream>using namespace std;template<class Type>class AVLTree;template<class Type>class AVLNode{ friend class AVLTree<Type...

2018-07-26 20:12:32 255

原创 排序算法:8.简单计数排序

计数排序的步骤     1、统计数组中每个值为i的元 素出现的次数,存入数组C 的第i项    2、根据C[i],整理排序结果//简单计数排序#define MaxNum 100void CountSort(int R[], int n){ int i, j, k; int C[MaxNum] = { 0 }; for (i = 0; i < n; ++i) { C[R...

2018-05-16 23:17:17 213

原创 排序算法:7.归并排序

归并排序思想       多次将两个或两个以上的有序表合并成一个新的有序表。  最简单的归并:是直接将两个有序的子表合并成一个有序的表。 //归并排序//2-路归并实现void Merge(int R[], int low, int mid, int high){ int *R1; int i = low, j = mid + 1, k = 0;//i,j,k分别为如图所示三部分...

2018-05-16 22:55:21 186

原创 排序算法:5.插入排序之直接插入排序(含二分法)

插入排序 基本思想:  每次将一个待排序的记录,按其关键 字大小插入到前面已经排好序的子表 中的适当位置,直到全部记录插入完 成为止。      介绍两种插入排序方法 :   (1)直接插入排序(含二分插入排序)    (2)希尔排序直接插入排序  1.假设待排序的记录存放在数组R[0..n-1]中       2.排序过程的某一中间时刻,R被划分成两个子区 间R[0..i-1]和R...

2018-05-16 00:13:40 382

原创 排序算法:3.选择排序之堆排序

//构造初始堆(大根堆)void shift(int a[], int low, int high){ int i = low; int j = 2 * i;//a[j]是a[i]的左孩子 int temp = a[i]; while (j <= high) { if (j < high&&a[j] < a[j + 1]) j++;//若...

2018-05-15 23:16:38 162

原创 排序算法:2.交换排序之快速排序

快速排序的基本思想: 1.在待排序的n个记录中任取一个记录(通常取第一个记录)作为基准,把该记录放入适 当位置后,数据序列被此记录划分成两部分,分别是比基准小和比基准大的记录。     2.再对基准两边的序列用同样的策略进行操作void Quicksort(int a[], int s, int t)//对a[s]到a[t]的元素快速排序{ int i = s; int j = t;...

2018-05-15 21:36:44 233

原创 排序算法:1.交换排序之冒泡排序

交换排序:    基本思想:两两比较待排序记录 的关键字,发现两个 记录的次序相反时即 进行交换,直到没有 反序的记录为止。    两种交换排序: (1)冒泡排序 (2)快速排序本文先介绍:冒泡排序    冒泡排序的基本思想  基本思想 :    1. 通过无序区中相邻记 录关键字间的比较和 位置的交换,使关键 字最小的记录如气泡 一般逐渐往上“漂浮” 直至“水面”。       2. ...

2018-05-15 21:08:03 229

原创 linux之I/O复用

//utili.h#pragma once#include<stdio.h>#include<unistd.h>#include<string.h>#include<stdlib.h>#include<sys/socket.h>#include<netinet/in.h>#include<arpa/in...

2018-05-14 00:02:53 212

原创 类的构造,拷贝构造,析构,赋值(string类)

构造函数初始化表的使用规则:如果类存在继承关系,派生类必须在起初始化表里调用基类的构造函数类的const常量只能在初始列表里被初始化,因为他不能在函数体内用赋值的方式初始化类的数据成员的初始化可以采用初始化表或函数体内赋值两种方式,,这两种方式的 效率不完全相同非内部数据类型的成员对象应当采用第一种方式初始化,以获取更高的效率。例如 class A {… A(void);    // 无参数构造函...

2018-05-05 20:32:46 481

原创 c++之内联函数

<<c++primer>>中讲到:inline函数     考虑下列 min()函数     int min( int v1, int v2 )    {        return( v1 < v2 << v1 : v2 );    }        为这样的小操作定义一个函数的好处是:         1.如果一段代码包含 min()的调用, 那么...

2018-05-03 23:59:35 188

原创 文件操作函数

fwrite:Writes data to a stream.size_t fwrite( const void *buffer, size_t size, size_t count, FILE *stream );fread:Reads data from a stream.size_t fread( void *buffer, size_t size, size_t count, FILE...

2018-04-27 22:13:38 380

原创 c注释转换

将文件中C语言注释(/**/)转换为C++注释(//),其它内容保持不变input.c// 1.一般情况/* int i = 0; */// 2.换行问题/* int i = 0; */int j = 0;/* int i = 0; *///int j = 0;// 3.匹配问题/*int i = 0;/*xxxxx*/// 4.多行注释问题/*int i=0;in...

2018-04-27 19:40:14 166

原创 c++之继承与派生

1.类的继承与派生    类的定义: class 派生类名:继承方式 基类名1,继承方式 基类名2,...,继承方式 基类名n       {   派生类成员声 };    派生类的过程:       吸收基类成员 改造基类成员  添加新成员2.访问控制(公有,保护,私有继承) public修饰的类成员可以在类外被访问,而protected与private则不可以3.类型兼容原则:类型兼容规则...

2018-04-25 02:17:39 306

原创 c++知识点总结

1.类  1.类定义的两种形式  2.类和结构体的区别  3.函数重载,封装概念  4.this指针  5.public、protected的区别  6.类的作用范围  7.inline的原理,inline和宏区别  8.面向过程,面向对象区别2.构造函数  1.类和对象的区别  2.冒号语法、构造函数的执行流程(冒号语法需要性,对象初始化和赋初值)  3.对象的内存布局  4.析构函数的执行...

2018-04-24 21:57:12 201

原创 静态成员和友元

1.类的静态成员:静态数据成员   静态函数成员class point{public: point(int x = 0, int y = 0) :x(x), y(y) { count++; } point(point &p) { x = p.x; y = p.y; } ~point() { count--; } int getx() { retu...

2018-04-24 00:21:44 506

原创 c++复制构造函数

  拷贝构造函数一类特殊的构造函数,具有一般构造函数的所有特性,其形参是本类对象的引用,起作用是使一个已经存在的对象(由复制构造函数的参数指定),去初始化同类的一个对象。初始化对象的每个数据成员都复制到新建立的对象中   普通函数是在对象被创建时被调用,而复制构造函数在以下三种情况下都会被调用      1.当用类的一个对象去初始化该类的另一个对象时      2.如果函数的参数是类的对象,调...

2018-04-16 22:13:01 197

原创 linux之System V共享内存

                                          共享内存    共享内存是系统创建的特殊地址空间,允许不相关的多个进程使用这个内存空间,即多个进程能够使用同一块内存中的数据。    共享内存与其他进程通信方式相比较,不需要复制数据,直接读写内存,是一种效率非常高的进程通信方案。但它本身不提供同步访问机制,需要我们自己控制。在LINUX中,只要把共享内存段连接...

2018-04-13 19:16:38 521

原创 Linux之SystemV消息队列

                消息队列     消息队列是将消息按队列的方式组织成的链表,每个消息都是其中的一个节点。    消息队列的运行方式与命名管道非常相似。欲与其他进程通信的进程只要将消息发送到消息队列中,目的进程就从消息队列中读取需要的消息。需要注意的是,消息队列的长度以及每个消息的大小都是有限制的。Linux系统提供的消息队列操作函数主要有以下几个:int msgget(key_...

2018-04-13 19:09:43 281

原创 linux之信号量函数semget() semop() semctl()

信号量函数:semget() semop()semctl()1.semget()创建一个新的信号量集,或者存取一个已经存在的信号量集;原型:int semget(key_t key,int nsems,int semflg);返回值:如果成功,则返回信号量集的IPC标识符。如果失败,则返回-1:          errno=EACCESS(没有权限)          EEXIST(信号量集...

2018-04-12 00:12:39 1167

原创 虚拟机安装增强工具(virtualbox 和vmware都介绍)

一环境:  虚拟机:VirtualBox-5.2.8-121009-Win  系统:CentOS-7-x86_64-DVD-1611安装增强工具步骤:需联网1.  选择 设备->重新安装增强工具,桌面会出现一个光盘2.  yum update3.  yum install gcc4.   reboot    会出现让选的进入的内核 ,(yum update)更新之后会出现内核版本为693...

2018-04-03 19:52:37 7887 1

原创 linux的vimrc配置文件

"========================================================================="" DesCRiption: 适合自己使用的vimrc文件,for Linux/Windows, GUI/Console""" Last Change: 2010年08月02日 15时13分""" Version: 1.80"".

2018-03-23 21:09:59 736

原创 linux的压缩和解压缩

在Linux下创建与解压zip, tar, tar.gz,tar.bz2和rar文件压缩后的文件: archive_name.zip   archive_name.tar  archive_name.tar.gz  archive_name.tar.bz2  archive_name.rar需要被压缩的文件:directory_to_compress   zip格式:           压缩...

2018-03-16 22:25:03 235 1

原创 linux链接文件:硬链接和软连接

linux系统中链接文件分为硬链接和软链接(软链接也叫符号链接)。硬链接和软链接都是指向文件的一种方式,但两者有不同的地方,主要有以下不同: 硬链接:伪备份   软连接:快捷方式  1.硬链接:创建一个硬链接,增加引用计数(并没有真正创建文件,只是一个别名,         除了名字不一样,其他都一样时间日期等,硬链接的更改会更改源文件,源文件的更改会硬链接)         删除文件,引用计...

2018-03-16 21:59:05 826

原创 文件权限、用户、用户组相关命令

文件权限、用户、用户组相关命令     查看当前用户:whoami     添加用户:useradd 选项 用户名  或adduser           -g 组名 指定所属组           -m 创建用户主目录    删除用户:userdel 选项 用户名            -r 删除用户主目录    修改、设置用户密码:passwd 用户名   更改文件、目录权限:chmod ...

2018-03-09 23:04:52 199

原创 cd命令

cd用来切换目录格式:cd +路径  cd .(当前目录)    cd ..(上级所在目录)   cd -(返回进入此目录之前所在的目录 切换)   cd ~和cd(进去用户家目录)  cd /(进入根目录)  绝对路径是从根目录开始的  相对路径是相对于当前的路径 家目录(home)和根目录  cd /: “/”表示的是根目录。 cd / ,即进入根目录.  cd ~:进入用户的home目录...

2018-03-09 20:39:29 951

原创 mv命令

mv(选项)(参数)--backup=<备份模式>:若需覆盖文件,则覆盖前先行备份;-b:当文件存在时,覆盖前,为其创建一个备份;-f:若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录;-i:交互式操作,覆盖前先行询问用户,如果源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件。用户输入”y”,表示将覆盖目标文件;输入”n”,表示取消对源文件的移动...

2018-03-09 20:12:05 274

原创 cp命令使用

拷贝文件/目录:cp [选项] 源   目的源    : 文件    目的不存在:创建目的    目的存在:覆盖(危险)    目的是已存在的目录:放到目录底下源    :目录(选项为 -r 递归拷贝)    目的不存 在:创建目的    目的存在:把目的放到目的目录下说明 :               -:普通文件        X:不存在      D:目录Cp        源     目...

2018-03-09 19:28:50 1801

原创 BST树

#pragma oncetemplate<class Type>class BSTree;template<class Type>class BSTNode{ friend class BSTree<Type>;public: BSTNode() :data(0), leftChild(NULL), rightChild(NULL) {}...

2018-03-07 21:04:54 281

原创 红黑树插入

红黑树的性质:    1.每个节点不是红就是黑    2.根节点为黑色    3.如果节点为红,其子节点必须为黑    4.任一节点至NULL(树尾端)的任何路径,所含之黑节点树必须相同    性质总结一句话:一头一脚黑,黑同红不连   规则1就不用说了,由规则2,root->color=NULL;由规则4,可知新增节点为红;由规则3可知,新增节点之父必为黑, 当新节点插入不符合上述规则...

2018-02-24 18:04:09 226

原创 迅雷面试哈希表

#if 1//现在有一个用来存放整数的Hash表,Hash表的存储单位称为桶,每个桶能放3个整数,//此Hash表的基桶数目为素数P,Hash表的hash函数对P取模。代码定义如下://当一个桶中要放的元素超过3个时,则要将新的元素存放在溢出桶中,//每个溢出桶也能放3个元素,多个溢出桶使用链表串起来。#define P 7#define NULL_DATA -1#define B

2018-02-07 21:48:35 554

stl源码剖析

源码之前无秘密,主要包括型别技术,内存管理,算法,数据结构,stl 各类组件之高阶实现技巧。eg:list. vector, stack, deque,RBTree,AVLTree, map,set..

2018-02-02

空空如也

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

TA关注的人

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