博客专栏  >  编程语言   >  c++&数据结构&linux

c++&数据结构&linux

本专栏主要是一些关于c++和数据结构的文章,还会有linux的介绍。

关注
3 已关注
53篇博文
  • 排序合集

    排序算法大体可分为两种:     一种是比较排序,时间复杂度O(nlogn) ~ O(n^2),主要有:冒泡排序,选择排序,插入排序,归并排序,堆排序,快速排序等。     另一种是非比较排序,时...

    2017-08-06 16:53
    297
  • 设计模式之单例模式

    什么是设计模式Patterns,顾名思义,具有某种重复性规律的方案。Design Patterns,就是设计过程中可以反复使用的、可以解决特定问题的设计方法。 他并不是某种特定的方法,而是一种解决...

    2017-08-01 17:25
    86
  • 死锁及如何避免死锁

    所谓死锁:是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。...

    2017-07-23 16:19
    205
  • 当你打开一个网站的时候,都发生了什么

    原文:这是原文地址 1. 首先嘛,你得在浏览器里输入要网址: 2. 浏览器查找域名的IP地址 导航的第一步是通过访问的域名找出其IP地址。DNS查找过程如下: 浏览器缓存 –...

    2017-07-23 12:07
    413
  • 链表翻转。给出一个链表和一个数k,比如链表1→2→3→4→5→6,k=2,翻转后2→1→4→3→6→5。

    链表翻转。给出一个链表和一个数k,比如链表1→2→3→4→5→6,k=2,翻转后2→1→4→3→6→5,若k=3,翻转后3→2→1→6→5→4,若k=4,翻转后4→3→2→1→5→6,用程序实现Nod...

    2017-07-23 11:13
    229
  • 二叉树实现及基本操作

    什么是二叉树在计算机科学中,二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”和“右子树”,左子树和右子树同时也是二叉树。二叉树的子树有左右之分,并且次序不能任意颠倒。

    2017-07-22 10:49
    345
  • 文件描述符

    什么是文件描述符 在linux下一切皆文件,文件描述符是内核为了高效的管理已经被打开的文件所创建的索引,它是一个非负整数,用于指代被打开的文件,所有执行I/O操作的系统调用都是通过文件描述符完成的。 ...

    2017-06-03 20:26
    544
  • 进程的状态

    Linux进程状态:R (TASK_RUNNING),可执行状态。 只有在该状态的进程才可能在CPU上运行。而同一时刻可能有多个进程处于可执行状态,这些进程的task_struct结构(进程控制...

    2017-06-03 10:41
    376
  • task_struct(进程描述符)

    进程是一个正在执行的程序。  进程是程序的一个运行实例。  进程能分配处理器并由处理器执行的实体。  如果从内核的角度看的话:进程是分配系统资源的单位。当一个程序被加载到内存之后并为他分配一个P...

    2017-05-29 09:51
    387
  • 进程与线程的区别

    最近学到操作系统,觉得很有必要把进程与线程的概念搞清楚。 首先我们先从大的方面谈谈cpu——进程——线程: cpu是计算机的核心,他承担了计算机所有的任务。单个cpu只能运行一个任务。进程是一个动态概...

    2017-05-29 09:04
    600
  • new delete与malloc free的区别

    相同点:都可用于申请动态内存和释放内存。 不同点: (1)操作对象有所不同。 malloc与free是C++/C 语言的标准库函数,new/delete 是C++的运算符。对于非内部数据类的对象...

    2017-05-14 10:16
    723
  • malloc free 解析

    首先看一下malloc和free的基本概念 void *malloc(long NumBytes);该函数分配了NumBytes个字节,并返回了指向这块内存的指针。如果分配失败,则返回一个空指针(N...

    2017-05-14 10:02
    788
  • new delete 解析

    new和delete是什么 程序运行时,计算机的内存被分为4个区域:程序代码区,全程数据区,栈和堆。其中堆上的内存可以被用户自由分配和释放。C语言中提供了malloc(还有calloc和reallo...

    2017-05-13 12:07
    860
  • 静态成员和静态成员函数

    一,静态数据成员 静态数据成员是一种特殊的数据成员,它以关键字static开头。 静态数据成员是不属于某一个对象的,它属于所有这个类的对象,或者说它属于这个类。静态数据成员在内存中只占一份内存...

    2017-05-13 11:20
    368
  • 运算符重载

    一.什么是运算符重载: C++预定义中的运算符的操作对象只局限于基本的内置数据类型,但是对于我们自定义的类型(类)是没有办法操作的。但是大多时候我们需要对我们定义的类型进行类似的运算,这个时...

    2017-05-13 10:30
    769
  • 函数的重载,重写,隐藏

    重载: 1、在同一作用域中。 2、函数名相同、参数个数或参数类型不同,返回值可同可不同。 3、重载又称为静态多态,静态绑定,静态决议等。因为要实现重载,所以C++和C的命名方式有所不同。重载主要是为了...

    2017-05-13 09:58
    486
  • 指针和引用的区别

    关于指针的博客前边写过,可以去看看: 点击打开链接 今天只要看看引用的知识: 什么是引用: "引用"是C++中引入的新的变量类型,它的作用是为一个变量起一个别名。 int a=1...

    2017-04-19 11:11
    383
  • 指针的问题

    今天我们来看看指针的问题: 指针:用来保存地址的“变量”叫做指针。你可以理解为指针就是地址。 如何定义一个指针: int a = 1; int *p = &a; p现在是a的指针,对p进行*(解引用)...

    2017-04-19 10:12
    659
  • HTTP和SOCKET中长连接与短连接的区别

    TCP/IP  TCP/IP是个协议组,可分为三个层次:网络层、传输层和应用层。  在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。  在传输层中有TCP协议与UDP...

    2017-04-04 11:08
    608
  • 浅谈HTTP中get与post的区别

    Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP...

    2017-04-04 10:10
    715
img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部