![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++基础
GOGP_nikto
这个作者很懒,什么都没留下…
展开
-
LeetCode:判断回文链表(空间O(1))
请判断一个链表是否为回文链表。 进阶: 你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题? 示例 1: 输入: 1->2 输出: false 示例 2: 输入: 1->2->2->1 输出: true 思路: 这题要做到空间O(1),时间O(n)的话只能先将链表从中间断开,再将后半部分的链表翻转与前面一个链表作比较. 方法:找到中间节点可以用快慢指针,翻转的话用三个指针去改变指向就行. 注意:为了不改变原来链表的结构,在判断完之后要把链表原创 2020-09-16 11:34:25 · 250 阅读 · 0 评论 -
C++中文文档下载
百度云链接:https://pan.baidu.com/s/1rtBmNxiRwm7LQXc5rRTiDQ 提取码:2lnx原创 2020-09-12 10:59:53 · 578 阅读 · 1 评论 -
利用unique_ptr写一个链表(理解智能指针的自动释放功能)
#include<iostream> #include<string> #include<memory> using namespace std; //独有指针版的链表,带头结点 template<typename T> struct Node { public: T data; //利用独有指针定义指向下一个节点的指针 unique_ptr<Node<T>>next; ~Node() { cout <<原创 2020-09-12 10:14:21 · 770 阅读 · 0 评论 -
C++浅谈深浅拷贝的区别
浅拷贝和深拷贝的区别在于浅拷贝只是将对象的值复制给另外一个对象,如果这时候他们有一个在堆区开辟空间的变量,那么这个堆区地址也会共享 深拷贝是在赋值时是给变量重新开辟一个新的内存空间,这时候,对象之间的地址不共享 核心在于堆区空间的开辟。 虽然这个知识点看着很简单,但是还是建议大家画一下图和写一下代码,毕竟学习就像逆水行舟,你不进步,那就只能退不。 刚开始复习这个考点,有不对的地方还希望大佬们斧正。 浅拷贝: 深拷贝: 实验代码: #include<iostream> using namespa原创 2020-09-10 09:19:21 · 128 阅读 · 0 评论 -
C/C++复习---函数:
对于函数的定义: 函数是具有某一功能的一段代码,是C语言管理代码的单位,把代码分装成函数,技能方便C语言的调用,也能使代码更简洁. 函数分类 标准库函数 系统函数 第三方库函数 自定义函数 一、常用的标准库函数 注意:C语言标准为委员会为C语言以函数形式提供的一些基础功能,被封装在libc.so库中,使用时需要包含头文件(stdlib.h),用 函数名(参数)即可以调用。 int isalnum(int c); 功能:当以是数字、字母字符返回真 return true原创 2020-08-03 09:43:29 · 102 阅读 · 0 评论