博客专栏  >  编程语言   >  C/C++之路

C/C++之路

介绍基本的C/C++知识,同时介绍简单的C/C++小项目

关注
2 已关注
55篇博文
  • 稀疏矩阵的压缩存储

    #include #include using namespace std; template class SparseMatrix { public: // 稀疏矩阵的压缩存储 Spars...

    2017-05-09 18:12
    275
  • 两个栈实现一个队列

    栈:先进后出的一种数据结构。 队列:先进先出的一种数据结构。 此时如果我们先有一个栈是不够的,我们只能把先入栈的元素后出来,后面入栈的元素先出来。这是我们便想如何才能实现一个先进先出的结构呢。 ...

    2017-07-21 16:58
    260
  • 【每日一题】替换字符串中的空格为$$$。要求时间复杂度为O(N)

    题目:替换字符串中的空格为$$$。要求时间复杂度为O(N) 例如:将"talk is cheap show me the code"替换。为"talk$$$is$$$cheap$$$show$$$me...

    2017-07-21 17:12
    270
  • 两个队列实现一个栈

    栈:先进后出 队列:后进先出 方法一: 如何用两个队列实现一个栈呢?我们可以把一个队列里面的内容放入第二个队列里面,此时要剩余一个,这剩下的一个可以直接出栈,再把队列2里面的元素放回队列1, 重...

    2017-07-22 13:09
    309
  • 【每日一题】实现一个栈Stack,要求实现Push(出栈)、Pop(入栈)、Min(返回最小值的操作)的时间复杂度为O(1)

    这道题有两种实现方式 方法一:用两个栈来实现 两个栈实现的主要思路是,一个栈存放数据,一个栈存放最小值。 压栈操作: (1)我们先向S1压栈一个数据 (2)再向S1压入第二个数据,如果此...

    2017-07-22 14:45
    1028
  • 【每日一题】查找一个字符串中第一个只出现两次的字符。要求时间复杂度为O(N),空间复杂度为O(1)

    题目:将"talk is cheap show me the code"替换。查找一个字符串中第一个只出现两次的字符。 如:“abcdefabcdefabc”中第一个只出现两次为‘d’,要求时间复杂...

    2017-07-22 16:04
    332
  • 关于阶乘的面试题总结

    阶乘方面的题一直是我最近不太明白的点,因此我便总结了几个关于阶乘方面的面试题供探讨。 面试题: 一、给定一个整数N,那么N的阶乘N!末尾有多少个0呢?例如:N=10,N!=3 628 800,N!...

    2017-07-22 21:24
    402
  • 关于const知识点总结

    1、基本描述 定义变量的限定符,表示变量值不可改变 const int a = 1024; a = 1024;//错误,不能向const对象写值注意:const对象必须初始化。由于const创建后...

    2017-07-29 20:29
    239
  • 两个集合用单链表存储,分别求出集合的差集和并集(单链表求差集并集)

    一、集合求交集题目:已知集合A和B的元素分别用不含头结点的单链表存储,函数difference()用于求解集合A与B的差集,并将结果保存在集合A的单链表中。 例如,若集合A = { 5,10,20,...

    2017-08-01 12:39
    468
  • 在C++ 程序中调用被C 编译器编译后的函数,为什么要加extern “C”?

    一、extern简介首先我们用一句话来形容extern的作用:解决名字匹配问题,实现C/C++混合编程。extern是C/C++语言表明函数和全局变量作用范围的关键字,其声明的函数和变量可以在本模块或...

    2017-10-30 17:36
    223
  • 关键字static总结

    一、static修饰变量与函数static修饰变量包含了局部变量和全局变量。一般函数内部的变量放在栈区,但是会随着函数的周期而被释放。由函数内部new产生的动态数据则存放在堆区,静态数据则存放在全局数...

    2017-11-05 01:01
    880
  • C++实现复杂链表的复制

    一、什么是复杂链表复杂链表的每个结点具有三个成员,分别是存放数据的data和指向下一个结点的指针和指向随机节点的指针。 复杂结点的结构:template struct ListNode { ...

    2017-11-07 00:25
    155
  • 大数据处理

    大数据处理并不要求手写代码,更重要的是叙述出来思路和方法,主要的解题思路有以下两个:方法: 看能否用特殊的数据结构解决(位图、布隆过滤器、堆(TOP K 问题)) 哈希切分 题目⒈ 给一个超过100G...

    2017-11-14 22:03
    119
  • 如何定义一个只能在栈上生成对象的类

    这道题主要考察我们对于C++的语法的理解和运用的程度。本文主要给出了两种方法实现。方法一:分析:如果我们建立对象只能在栈上生成而不能在堆上生成,那么需要考虑以下几点: 当我们用new操作符时候,才会在...

    2017-11-14 22:27
    110
  • 如何定义一个只能在堆上生成对象的类

    这道题主要考察我们对于C++的语法的理解和运用的程度。在C++中,类的对象建立分为两种,一种是静态建立,如A a;另一种是动态建立,如A* ptr=new A;这两种方式是有区别的。 静态建立一个类对...

    2017-11-14 22:48
    121
  • 命名空间的理解

    一、为什么要有命名空间一个工程的完成,往往由不同的人来共同完成,此时就有可能出现一个问题,不同的人写的函数名字会和另外一个人写的函数名字相同,此时哪一个函数是我们需要的呢? 所以我们为了解决这样的冲...

    2017-11-16 00:43
    116
  • C++中防止一个类被继承

    一、思路在C++的继承里面我们知道,子类的构造函数会调用父类的构造函数,子类的析构函数会调用父类的析构函数,因此我们便想办法禁止子类调用父类的构造函数和析构函数即可,因此提出了如下两种方法。二、方法①...

    2017-11-18 12:07
    199
  • 判断机器大小端的两种实现方式

    一、为什么会有大小端之分这是因为在计算机系统中,我们是以字节为单位的,每个地址单元都对应着一个字节,一个字节为 8bit。但是在C语言中除了8bit的char之外,还有16bit的short型,32b...

    2017-11-18 15:12
    227
  • C++中四种强制转换

    一、简介C++中存在四种强制类型转换,分别是static_cast 、const_cast 、 dynamic_cast 、reinterpret_cast二、存在原因我们直到在C语言中有强制类型转换...

    2017-11-24 17:07
    641
  • C语言中二分查找(折半查找)

    二分査找也称折半査找,其优点是查找速度快,比较次数少,平均性能好,但是有一个缺点,缺点就是要求所要査找的数据必须是有序序列。该算法的基本思想是将所要査找的序列的中间位置的数据与所要査找的元素进行比较,...

    2016-12-11 10:51
    1049
img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部