![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
文章平均质量分 59
Echo1214_Xie
这个作者很懒,什么都没留下…
展开
-
C / C++ 中static 关键字用法
总结来源:https://www.cnblogs.com/jhmu0613/p/7131997.htmlstatic的作用主要有两种:第一个作用是限定作用域;第二个作用是保持变量内容持久化;c语言中static的用法:1、全局静态变量: 用法:在全局变量前加上关键字static,全局变量就定义成一个全局静态变量。 static int temp; 内存中的位置:静态存储区,在整个程序运行期间一...转载 2018-06-12 19:56:31 · 152 阅读 · 0 评论 -
STL容器用法——vector
template < class T, class Alloc = allocator<T> > class vector;//一般模板构造函数: std::vector<int> first; // empty vector of ints std::vector<int>...原创 2018-09-06 15:47:35 · 251 阅读 · 0 评论 -
链表
1.单链表定义:别忘构造函数,struct与class无异。// Definition for singly-linked list.struct SinglyListNode { int val; SinglyListNode *next; SinglyListNode(int x) : val(x), next(NULL) {}};时间复杂度:查找O(...原创 2018-08-25 17:14:55 · 281 阅读 · 0 评论 -
0-1背包问题
此题在华为笔试中出现次数很多。输入:价值:6,3,5,4,6重量:2,2,6,5,4背包容量:10输出:偷到的总价值:15#include <iostream>#include <vector>#include <algorithm>using namespace std;int main(){ int value[...原创 2018-08-09 16:37:36 · 173 阅读 · 0 评论 -
C++ 二维动态数组创建及初始化
两种方式:yi 一是通过new-deletechua创建。二是通过vector创建。注意两者的初始化区别。只能把所有的值初始化为同一个值。// temp-test.cpp: 定义控制台应用程序的入口点。//#include "stdafx.h"#include <iostream>#include <vector>using namespac...原创 2018-07-25 19:20:36 · 9472 阅读 · 1 评论 -
C++存储空间
自动存储:在函数内部定义的常规变量使用自动存储空间,被称为自动变量,这意味着它们在所属的函数被调用时自动产生,在该函数结束时消亡。自动变量通常存储在栈中。静态存储:静态存储是整个程序执行期间都存在的存储方式。一种是在函数外面定义它,一种是在声明变量时使用关键字static。注意区分其作用域和生命周期。动态存储:new和delete运算符。它们管理了一个内存池,在C++中被称为自由存储空间或堆。例如...原创 2018-07-13 11:24:51 · 567 阅读 · 0 评论 -
cin相关
cin包含在iostream头文件中,它是istream类的一个对象。cin使用空白(空格、制表符、换行符)来确定字符串的结束位置,这意味着cin在获取字符数组输入时只读取一个单词。 其类成员函数getline()和get():两函数都是读取一行,直到到达换行符。然而getline()将丢弃换行符,而get()将换行符保留在输入序列中。用例:cin.getline(name...原创 2018-07-13 09:59:07 · 688 阅读 · 0 评论 -
C++类实现
1. 运算符重载可以通过非成员函数(友元函数)和成员函数进行重载。但是赋值=、函数调用()、下标运算[]、指针访问成员->只能使用成员函数进行重载。类声明:class Time{...Time operator+(const Time & t) const;}类方法实现:Time Time::operator+(const Time & t) const{...}使用:A +...原创 2018-07-16 11:42:44 · 518 阅读 · 0 评论 -
找出二叉树中序遍历序列的下一个节点
/*struct TreeLinkNode { int val; struct TreeLinkNode *left; struct TreeLinkNode *right; struct TreeLinkNode *next; TreeLinkNode(int x) :val(x), left(NULL), right(NULL), next(NULL)...原创 2018-06-18 18:06:49 · 1006 阅读 · 0 评论 -
前序遍历和中序遍历来重构二叉树
指针用法: struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) {} }; TreeNode* ConstructCore(int*...原创 2018-06-18 16:47:59 · 291 阅读 · 0 评论 -
二分查找
二分查找时间复杂度是O(logn),循环的方法时间复杂度是O(n)。循环实现:/循环法二分查找.数组必须有序int binarySerachA(int * arr, int key, int length) { int left = 0; int right = length - 1; int middle = 0; while (left <= right) { middle...原创 2018-06-29 18:39:14 · 167 阅读 · 0 评论 -
C++实现各种排序(快速、归并、冒泡、选择、堆排序)
1. 快速排序使用递归的方法。选取数组中任意一个值key作为比较(通常选取第一个值),然后数组先从后往前寻找第一个小于key的值,再从前往后寻找第一个大于key的值,交换这两个值的位置,继续前面的寻找。然后把第一个值(key)交换到两个子数组中间位置。现在两子数组,左边都小于key,右边都大于key。左右子数组再进行递归。时间复杂度平均O(nlogn),最坏是Olog(n^2).//...原创 2018-06-29 11:18:41 · 532 阅读 · 0 评论 -
C++中const 修饰指针、函数形参
1. const通常用来修饰变量不能够更改值,多用来保护变量或参数。 [cpp] view plain copyconst int b = 100; //b = 0;错误 2. 当const修饰指针时,由于const的位置不同,它的修饰对象会有所不同。 如下代码,int *const p2中const修饰p2的值,所以理解为p2的值不可以改变,即p2只能指向固定的一个...转载 2018-06-13 21:40:18 · 1603 阅读 · 0 评论 -
深入理解C++中private public protected
转载自:https://www.jb51.net/article/54224.htm这里我们首先要明白下面几点。1.类的一个特征就是封装,public和private作用就是实现这一目的。所以:用户代码(类外)可以访问public成员而不能访问private成员;private成员只能由类成员(类内)和友元访问。2.类的另一个特征就是继承,protected的作用就是实现这一目的。所以:prote...转载 2018-06-12 20:58:54 · 172 阅读 · 0 评论 -
string类用法
构造函数: std::string s0 ("Initial string"); // constructors used in the same order as described above: std::string s1; std::string s2 (s0); std::string s3 (s0, 8, 3);//注意位置信息使用的是常量,不是迭代器。 s...原创 2018-09-07 11:55:22 · 323 阅读 · 0 评论