自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 AVL树

AVL平衡二叉查找树概述:介绍:         在计算机科学中,AVL树是最先发明的自平衡二叉查找树。在AVL树中任何节点的两个子树的高度最大差别为一,所以它也被称为高度平衡树。查找、插入和删除在平均和最坏情况下都是O(log n)。增加和删除可能需要通过一次或多次树旋转来重新平衡这个树。特点:...

2018-04-22 21:32:48 136 0

原创 插入排序的实现

插入排序(默认从小到大)插入排序是排序算法的一种,它不改变原有的序列(数组),而是创建一个新的序列,在新序列上进行操作。基本思想及举例说明       插入排序的基本思想是,将元素逐个添加到已经排序好的数组中去,同时要求,插入的元素必须在正确的位置,这样原来排序好的数组是仍然有序的。       ...

2018-04-22 21:23:05 111 0

原创 I/O复用三种方式的比较

       select,poll,epoll都是IO多路复用的机制。    I/O多路复用就是通过一种机制,一个进程可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事...

2018-04-17 19:27:44 487 0

原创 Select函数

在Linux中,我们可以使用select函数实现I/O端口的复用,传递给 select函数的参数会告诉内核:      •我们所关心的文件描述符      •对每个描述符,我们所关心的状态。(我们是要想从一个文件描述符中读或者写,还是关注一个描述符中是否出现异常)      •我们要等待多长时间。...

2018-04-17 17:05:44 159 0

原创 面向对象程序设计

面向对象与程序设计: 面向对象程序设计(英语:Object-oriented programming,缩写:OOP)是一种程序设计范型,同时也是一种程序开发的方法。对象指的是类的实例。它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性。 面向对象程序设计可以看作一...

2018-04-15 20:01:40 143 0

原创 计算一年有多少秒

//输入一个年份,判断这一年有多少秒; //分别判断平年和闰年 //闰年能被4整除并且不能被100整除或者可以被400整除 #include<iostream> using namespace std; void second(int year) { if((year...

2018-04-15 17:52:04 2818 0

原创 虚函数

虚函数:        在某基类中声明为 virtual 并在一个或多个派生类中被重新定义的成员函数,用法格式为:virtual 函数返回类型 函数名(参数表) {函数体};实现多态性,通过指向派生类的基类指针或引用,访问派生类中同名覆盖成员函数。那些被virtual关键字修饰的成员函数,就是虚函...

2018-04-15 14:05:49 93 0

原创 带外数据

带外数据:        使用与普通数据不同的通道独立传送给用户,是相连的每一对流套接口间一个逻辑上独立的传输通道。也称为紧急数据,相比于普通数据有更高的优先级,总是立即发送。 传输层协议使用带外数据(out-of-band,OOB)来发送一些重要的数据,如果通信一方有重要的数据需要通知对方时,协...

2018-04-14 20:50:07 117 0

原创 判断质数

#include<iostream> using namespace std; int main() { int a=0; // num因数的个数 int num=0; // 输入的整数 top:while(1)//top为goto跳转到的标记 { cou...

2018-04-14 17:46:34 153 0

原创 希尔排序

希尔排序的基本思想是:先将整个待排序列分割成若干子序列分别进行进行直接插入排序,等到整个待排序列基本有序时,再对全体记录依次进行直接插入排序。希尔排序也叫缩小增量排序,是1959年由D.L.Shell提出来的。希尔排序的具体实现方法和步骤:a、选择一个步长序列d1,d2,d3,...,dk,其中,...

2018-04-11 18:57:42 82 0

原创 内存覆盖

//memmove()函数解决内存覆盖问题#include<iostream> #include<assert.h> using namespace std; void *memmove(void *dest, const void *sou...

2018-04-11 18:49:19 199 0

转载 简易五子棋

#include<iostream> #include<iomanip> using namespace std; const int X = 21; //棋盘行数 const int Y = 21; //棋盘列数 char p[X][Y];...

2018-04-11 17:49:37 148 0

原创 Socket

socket的概念: 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。建立网络通信连接至少要一对端口号(socket)。socket本质是编程接口(API),对TCP/IP的封装,TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket编程接...

2018-04-11 17:00:25 79 0

原创 STL的组件

1,、容器各种数据结构,用来存放数据,STL容器是一种class template。2、算法各种常用算法如sort,search,copy,erase等等,从实现的角度讲,STL算法是一种function template3、迭代器  扮演容器和算法之间的胶合剂,是所谓的“泛型指针”,从实现的角度...

2018-04-10 20:36:10 83 0

原创 图的遍历

//图的遍历 #include <iostream> using namespace std; #include <queue> #define SIZE 10 struct Edge { Edge(int v):destvalue(v)...

2018-04-10 20:24:26 145 0

原创 Strcat和Strcpy的实现

#include<assert.h> #include<stdio.h> #include<iostream> using namespace std; char* my_strcat(char *strDest,...

2018-04-10 19:58:25 137 0

原创 注释转换C++->C

//头文件ConvertComment.h #ifndef _CONVERTCOMMENT_H #define _CONVERTCOMMENT_H #include<iostream> using namespace std; void EventPro(char ...

2018-04-10 17:43:26 80 0

原创 二叉树的四种遍历遍历以及查找拷贝

#include<iostream> #include<queue> using namespace std; class Node//创建节点 { public: Node(char c):m_value(c),m_left(NULL)...

2018-04-08 17:24:47 106 0

原创 简易滚动条实现

#include<iostream> #include<windows.h> using namespace std; void main() { char str[] = "include<string&g...

2018-04-08 17:07:18 137 0

原创 TCP与UDP的比较

TCP:面向连接    传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。 UDP:面向无连接    用户数据报协议,是一个简...

2018-04-03 17:10:50 399 0

原创 UDP通信

UDP服务器程序:#include<stdio.h> #include<unistd.h> #include<stdlib.h> #include<string.h> #include...

2018-04-03 16:50:03 122 0

原创 Linux中读写锁--读锁优先

my_pthread_rwlock.h:#pragma once #include<pthread.h> #include<stdio.h> typedef struct { pthread_mutex_t rw_mutex; ...

2018-04-03 16:43:02 353 0

原创 Linux中读写锁--写锁优先

my_pthread_rwlock.c#include"my_pthread_rwlock.h" #include<errno.h> int my_pthread_rwlock_rdlock(my_pthread_rwlock_t *rw) { ...

2018-03-31 18:34:57 669 0

原创 网络字节序和大小端

     网络字节顺序是TCP/IP中规定好的一种数据表示格式,它与具体的CPU类型、操作系统等无关,从而可以保证数据在不同主机之间传输时能够被正确解释。网络字节顺序采用大端排序方式。转换函数:       htons把unsigned short类型从主机序转换到网络序 (host to net...

2018-03-31 18:15:05 133 0

原创 快速排序

快速排序算法原理:          通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。#include<iostream&g...

2018-03-30 20:33:27 78 0

原创 调用STL函数排序

#include<iostream> using namespace std; #include <queue> #include<string> #include<string.h> ...

2018-03-27 16:46:09 115 0

原创 简单优化冒泡排序法

相对于普通冒泡排序,增加了以下功能:1.动态开辟空间2.输入数据完成后将开辟但是没有用到的空间进行释放,所以此处用到了计数器n3.数据输入完成标志,输入任意字符并回车结束添加数据#include<iostream> using namespace std; #defin...

2018-03-27 16:39:14 166 0

原创 简单进度条以及时针转动函数

#include<iostream> #include<windows.h> using namespace std; void main() { int i; for(i = 1;i<=100;i++) { prin...

2018-03-27 16:26:37 115 0

原创 运算符优先级

C/C++各个运算符优先级划分:

2018-03-27 16:22:44 99 0

原创 异常处理

异常处理:关键字  try   throw   catch下面是实现除法的程序,当程序异常(除数为零)时进行的相关异常处理:#include<iostream> using namespace std; int Dev(int a,int b) { if(b == 0...

2018-03-27 16:14:53 84 0

原创 线程

什么是线程       在一个程序里的多个执行路线就叫做线程。更准确的定义是:线程是“一个进程内部的一个控制序列”。       典型的unix进程可以看成只有一个控制线程:一个进程在同一时刻只做一件事情。有了多个控制线程以后,在程序设计时可以把进程设计成在同一时刻能够做不止一件事,每个线程处理各...

2018-03-26 17:36:15 82 0

原创 类模板实现单链表

特别注意:编写函数前必须先进行模板的声明#include<iostream> using namespace std; template<typename type> class list;//声明list类 template<...

2018-03-22 21:12:42 1016 0

原创 比较大小的函数模板

函数模板不是直接执行的程序,而是执行后通过编译器进行转换,转换成模板函数进行实现#include<iostream> using namespace std; template<typename type>//函数模板 type Max(ty...

2018-03-22 19:54:44 2158 1

原创 static和const的比较

static(静态):分为静态成员变量和静态成员函数,作用域为整个类,所有成员函数可以共享。静态成员变量:static int data;定义在类的私有(private)成员里面,但是静态成员的初始化要在类外面,即int 类名 ::data = 6;静态成员函数:static void main(...

2018-03-22 18:04:10 125 0

原创 友元函数和成员函数

C++中的友元函数:功能:可以直接访问类的私有成员,同样成员函数也可以访问,而普通非成员函数不可以。并且友元函数不受类的控制,无论是放到public,protected或者private中,都是一样的。下面是访问私有成员的两种方法,分别是编写的成员函数以及友元函数//成员函数访问类的私有成员#in...

2018-03-21 21:10:40 230 0

原创 linux中的压缩与解压缩

Zip:目前应用最多的压缩方式优点:可以在不同操作品台上使用缺点:支持的压缩率不是很高压缩方式:zip -r name.zip directory_to_compress解压方式:unzip name.zipTar:linux中应用广泛的压缩方式优点:花费很少的CPU以及时间去打包文件压缩方式:t...

2018-03-20 21:11:59 112 0

原创 深浅拷贝和赋值

#include<iostream> using namespace std; class String //私有成员变量中有指针类型,一般要编辑拷贝构造函数和赋值函数,预防浅拷贝和浅赋值 { public: //构造函数 String(const char *st...

2018-03-15 21:05:10 191 0

原创 最大公约数与最小公倍数

#include<iostream> using namespace std; int gongyue(int &max,int &min) { if(max < min) { swap(max,min); } ...

2018-03-08 16:55:39 111 0

原创 一维数组逆置

#include<iostream> using namespace std; void reverse(int a[],int n) { for(int i = 0;i<n/2;++i) { swap(a[i],a[n-i-1]); } } ...

2018-03-08 15:57:56 996 0

原创 求图形周长(三角形和矩形)并且求它们周长之和

//用shape类定义求周长函数 #include<iostream> using namespace std; class shape//抽象类 { public: virtual float length() = 0;//求图形周长的函数 }; float tot...

2018-02-05 16:17:21 391 0

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