自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 浅谈四种格式控制符

一、setw1.1 使用格式/*undefined*/ setw (int n);1.2 功能说明设置字段宽度,设置要在输出操作上使用的字段宽度。表现为成员宽度在作为操纵器插入/提取它的流上用n作为参数调用(它可以在输入流或输出流上插入/提取)。这个操纵器在头文件中声明 。1.3 参数说明n:即为所设置的字段宽度的字符数1.4 使用说明#include <iostre...

2019-02-28 19:46:49 2020

原创 模拟实现求字符串长度函数strlen

一、strlen函数的介绍1、使用格式size_t strlen ( const char * str );2、使用规则字符串已经 ‘\0’ 作为结束标志,strlen函数返回的是在字符串中 ‘\0’ 前面出现的字符个数(不包含 ‘\0’ )。参数指向的字符串必须要以 ‘\0’ 结束。注意函数的返回值为size_t,是无符号的( 易错 )3、使用举例#include <...

2019-02-26 20:41:22 3058

原创 【C语言】—— 计算机存储的大小端问题

一、大小端的定义我们先来看一下什么是大小端:大端模式,是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放;这和我们的阅读习惯一致。小端模式,是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中,这种存储模式将地址的高低和数据位权有效地结合起来,高地址部分权值...

2019-02-25 20:25:34 384

原创 【C语言】—— 位段

一、位段的定义位段的声明和结构体是类似的,有两个不同:1、位段的成员类型必须是:int、signed int、unsigned int 或 char。2、位段的成员后面有一个冒号和一个数字(数字表示的是该成员所占比特位的大小)。下面我们举个例子了解一下位段:struct A{ int _a : 2; int _b : 5; int _c : 10; int _d : 30;}...

2019-02-24 11:17:34 304

原创 【C语言】—— 结构体内存对齐

一、存在内存对齐的原因1、平台原因不是所有硬件平台都能够访问任意地址上的任意数据的,某些硬件平台只能在某些地址处取某些特定类型的数据,否则抛出硬件异常。2、性能原因(主要原因)数据结构(尤其是栈)应该尽可能地在自然边界上对齐。 原因在于,为了访问未对齐的内存,处理器需要作两次内存访问;而对齐的内存访问仅需要一次访问。这里我们举个例子说明一下注:内存对齐是以空间换时间的做法二、内存对...

2019-02-23 15:48:06 1525

原创 浅谈一些与文件相关的函数

一、fopen函数1.1 使用格式FILE * fopen(const char * filename,const char * mode);1.2 函数的功能打开文件(open file)打开名称在参数filename中指定的文件,并将其与可在将来操作中通过返回的FILE指针识别的流相关联。流上允许的操作及其执行方式由mode参数定义。如果已知未引用交互式设备(请参阅setbuf)...

2019-02-22 20:45:32 337

原创 【C++】—— C/C++内存管理常见面试题

一、new和delete与malloc和free的区别1、new和delete是操作符,malloc和free是函数。2、使用new申请空间时,会对所申请的空间进行初始化,malloc则不会。3、malloc在申请空间时,需手动计算所申请空间的大小,new只需在后面加上所开空间的类型即可,不用计算大小。 以链表创建一个节点为例: eg:ListNode* newnode = (...

2019-02-20 20:32:16 510

原创 【C语言】—— 内联函数inline

一、内联函数的概念以inline修饰的函数叫做内联函数,编译时C++编译器会在调用内联函数的地方展开,没有函数压栈的开销,内联函数提升程序运行的效率。这里我们先看一段代码:int ADD(int x, int y){ return x + y;}int main(){ int a = 3; int b = 4; int a = ADD(a, b); return 0;}...

2019-02-20 18:22:07 2643

原创 【C语言】—— C语言的特点及关键字

一、C语言的一般特点1、简洁紧凑、灵活方便C语言一共只有32个关键字,9种控制语句,程序书写自由,主要用小写字母表示。它把高级语言的基本结构和语句与低级语言的实用性结合起来。 C 语言可以象汇编语言一样对位、字节和地址进行操作, 而这三者是计算机最基本的工作单元。2、运算符丰富C的运算符包含的范围很广泛,共有种34个运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理。从而使C的运算...

2019-02-15 16:27:56 3249

原创 【LeetCode】—— 非递归实现二叉树的遍历(C语言)

一、二叉树的前序遍历LeetCode144题// 支持动态增长的栈typedef struct TreeNode* STDataType;typedef struct Stack{ STDataType* _array; int _top;//栈顶 int _capacity;//容量}Stack;void StackInit(Stack* ps){ assert(ps)...

2019-02-10 21:17:24 1276

原创 【LeetCode】—— 二叉树进阶面试题

一、根据二叉树创建字符串LeetCode606题1.1 题目描述空节点则用一对空括号 “()” 表示。而且你需要省略所有不影响字符串与原始二叉树之间的一对一映射关系的空括号对。示例 1:输入: 二叉树: [1,2,3,4] 1 / \ 2 3 / 4 输出: "1(2(4))(3)"解释: 原本将是“1(2(4)...

2019-02-09 10:32:46 360 1

原创 【LeetCode】—— 二叉树基础面试题(下)

一、另一棵树的子树LeetCode572题1.1 题目描述给定两个非空二叉树 s 和 t,检验 s 中是否包含和 t 具有相同结构和节点值的子树。s 的一个子树包括 s 的一个节点和这个节点的所有子孙。s 也可以看做它自身的一棵子树。示例 1:给定的树 s: 3 / \ 4 5 / \ 1 2给定的树 t: 4 / \ 1 2...

2019-02-06 22:43:57 202

原创 【LeetCode】—— 二叉树基础面试题(上)

一、二叉树的前序遍历(递归实现)LeetCode144题1.1 题目描述给定一个二叉树,返回它的 前序 遍历。示例:输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,2,3]1.2 解题思路1.3 代码实现int treeSize(struct TreeNode* root)//...

2019-02-05 19:16:47 306

原创 【LeetCode】—— 有效括号LeetCode20题

题目描述给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: "()"输出: true示例 2:输入: "()[]{}"输出: true示例 3:输入: "(]"输出: false示例 4:...

2019-02-04 13:27:49 189

原创 【LeetCode】—— 复制带随机指针的链表LeetCode138题

题目描述给定一个链表,每个节点包含一个额外增加的随机指针,该指针可以指向链表中的任何节点或空节点。要求返回这个链表的深度拷贝。解题思路代码实现typedef struct RandomListNode RLNode;struct RandomListNode *copyRandomList(struct RandomListNode *head) { RLNode* cur =...

2019-02-03 20:59:41 199

原创 【LeetCode】—— 回文链表LeetCode234题

题目描述请判断一个链表是否为回文链表。示例 1:输入: 1->2输出: false示例 2:输入: 1->2->2->1输出: true解题思路代码实现//1->2->3->3->2->1struct ListNode* reverselist(struct ListNode* hea

2019-02-02 16:30:21 245

原创 【LeetCode】—— 相交链表LeetCode160题

题目描述编写一个程序,找到两个单链表相交的起始节点。如下面的两个链表:在节点 c1 开始相交。示例1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Reference of the node with value = 8输入解释:相交节点的值为 8 (...

2019-02-01 16:32:10 617

空空如也

空空如也

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

TA关注的人

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