摘要:
###首先:为什么需要动态定义数组呢? 这是因为,很多情况下,在预编译过程阶段,数组的长度是不能预先知道的,必须在程序运行时动态的给出。 但是问题是,c++要求定义数组时,必须明确给定数组的大小,要不然编译通不过 如: int Array[5]; //正确 int i=5; int Array[i] 阅读全文
摘要:
LeetCode原题链接: ###题目链接 ###思路 ####1. 判断一个链表是否有环,空间复杂度是O(1) 如果不考虑空间复杂度,可以使用一个map记录走过的节点,当遇到第一个在map中存在的节点时,就说明回到了出发点,即链表有环,同时也找到了环的入口。 不适用额外内存空间的技巧是使用快慢指针 阅读全文
摘要:
##1. 简述一下TCP建立连接和断开连接的过程 ####三次握手: Client将标志位SYN置为1,随机产生一个值seq=J,并将该数据包发送给Server,Client进入SYN_SENT状态,等待Server确认。 Server收到数据包后由标志位SYN=1知道Client请求建立连接,Se 阅读全文
摘要:
##1. 请你说一说进程和线程区别 1)进程是cpu资源分配的最小单位,线程是cpu调度的最小单位。 2)进程有独立的系统资源,而同一进程内的线程共享进程的大部分系统资源,包括堆、代码段、数据段,每个线程只拥有一些在运行中必不可少的私有属性,比如tcb,线程Id,栈、寄存器。 3)一个进程崩溃,不会 阅读全文
摘要:
##1. 说一下C和C的区别 设计思想上: C是面向对象的语言,而C是面向过程的结构化编程语言 语法上: C具有封装、继承和多态三种特性 C相比C,增加多许多类型安全的功能,比如强制类型转换、 C++支持范式编程,比如模板类、函数模板等 ##2. 请说一下static的作用 ####1. 全局静态变 阅读全文
摘要:
##C++ vector的用法 vector 是向量类型,它可以容纳许多类型的数据,如若干个整数,所以称其为容器。vector 是C++ STL的一个重要成员,使用它时需要包含头文件: #include<vector>; ###一、vector 的初始化:可以有五种方式,举例说明如下: (1) ve 阅读全文
摘要:
在 Markdown 文档中,可以直接采用 HTML 标记插入空格(blank space),而且无需任何其他前缀或分隔符。具体如下所示: ####插入一个空格 (non-breaking space) 或   或   ####插入两个空格 (en space) & 阅读全文
摘要:
「数据类型」指的是整型、实型、字符型、类这样的东西,是在讨论编程语言的时候使用的概念,在算法和数据结构的语境中基本不提。 而数组、链表、栈、队列这些都是「数据结构」。 这些数据结构之间还存在不同的关注点和层次关系:数组、链表注重数据间的排列方式,栈、队列注重操作;后者可以用前者实现。所以我觉得可以把 阅读全文