博客专栏  >  编程语言   >  C++学习与基础算法

C++学习与基础算法

这个栏目主要用于收集自己的C++学习心得,里面的文章全都是原创的,自己动手写,想把最近所写的文章归纳成为一个专栏,让更多人一起学习一起交流。这个月已经坚持写了20篇的原创文章了,希望能有一个自己的专栏。

关注
10 已关注
90篇博文
  • C++学习与基础算法专栏目录

    函数 C++抽象编程——函数与库 C++中的值传递和引用传递 接口 C++抽象编程——接口(1)——.h文件与.cpp文件的建立 C++抽象编程——接口(2)——接口的用途 C++抽象编程——接口...

    2017-05-26 00:49
    720
  • C++抽象编程——完结感言

    打算完结这个栏目了谈谈写这个系列之前其实博客这个东西我接触的不久,就是我刚刚上大二的时候接触的。我的第一篇博客写于16年的11月,当时我总是在百度里面找答案,总是能在csdn的博客上找到我想要的答案,...

    2017-05-25 14:48
    408
  • C++抽象编程——数据文件的读写与修改

    这部分内容我在文件的介绍系列是没有提到的,我当时只是提到了怎么把打开一个文件,怎么再已有数据的文件里处理。其实我们怎么在文件中写入跟读取数据也是很重要的。向文件中写入数据首先我们在 f 盘建一个名为 ...

    2017-05-24 23:48
    460
  • C++抽象编程——内存管理(1)——动态分配与内存管理

    动态分配与内存管理到目前为止,你已经看到了两种将内存分配给变量的机制。 当你声明全局常量时,编译器将分配整个程序中已经存在的内存空间。这种分配风格称为静态分配(static allocation),因...

    2017-05-24 14:02
    304
  • C++抽象编程——指针(4)——指针的高级应用

    将函数作为数值在完成的编程中,函数和数据结构的概念仍然是分开的。函数提供表示算法的方法; 数据结构允许你组织并应用这些算法的信息。这样说来函数已经是算法结构的一部分,而不是数据结构的一部分。然而,能够...

    2017-05-23 12:16
    344
  • C++抽象编程——指针(3)——指针运算

    指针运算指针与整数之间在C ++中,您可以将运算符+和 - 应用于指针。 结果与某些方面熟悉的算术运算相似,但在其他方面不同。 将这些运算符应用于指针值的过程称为指针运算(pointer arithm...

    2017-05-22 17:01
    482
  • C++抽象编程——数组(2)——数组与指针

    有效大小与分配大小虽然sizeof技术允许你确定静态分配的数组的大小,但是有许多应用程序在编写代码时无法知道数组应该有多大,因为实际的元素数量取决于用户的数据。解决选择适当数组大小的问题的一个策略是声...

    2017-05-22 13:32
    335
  • C++抽象编程——数组(1)——基本用法

    数组当我们第一次介绍Vector类时,我们在在数组方面描述了向量。C ++提供了一个内置的数组类型,它基于C ++从C继承的语言模型。由于Vector集合类的统一性更加灵活和方便,所以在新代码中使用数...

    2017-05-21 21:17
    541
  • C++抽象编程——指针(2)——特殊的指针

    指向结构体(类)的指针前面部分中的示例仅声明指向基本类型的指针。 在C ++中,将指针与结构或对象结合使用是非常普遍的。 例如,声明:Point pt(3, 4); Point *pp = &pt;声...

    2017-05-21 21:15
    564
  • C++抽象编程——指针(1)——什么是指针?

    指针(Pointers)C ++设计背后的原则之一是程序员应该尽可能多地访问由底层硬件提供的工具。因此,C ++使得内存位置具有程序员可见的地址。其值为内存中的地址的数据项称为指针(A data it...

    2017-05-20 22:29
    266
  • C++抽象编程——内存模式(2)——函数调用机制

    内存地址在典型计算机的存储器系统中,每个字节由数字地址标识。计算机中的第一个字节编号为0,第二个编号为1,依此类推,直到机器中的字节数减去1。例如,一个小型64KB计算机中的存储器地址将以一个编号为0...

    2017-05-20 21:14
    591
  • C++抽象编程——储存模式(1)——内存结构

    在大多数情况下,我们所写的程序都依赖抽象数据类型来表示复合对象。从实践的角度来看,这个策略是极其常见的。当你以C++等面向对象语言编写程序时,应该尽可能利用库提供的抽象类型的优势,并尽可能远离底层细节...

    2017-05-20 19:18
    717
  • C++抽象编程——算法分析(8)——插入排序算法与分析

    本来算法分析系列算是写完了(其中我忽略了数学归纳法那一部分内容,因为我觉得我们高中学过就没必要再提一次)。但是教材强调我们要重点看看练习题的第二题。我也看了一下,确实很不错。这道题讨论的是插入排序(i...

    2017-05-17 13:43
    436
  • C++抽象编程——算法分析(7)——快速排序算法分析

    合并排序和Quicksort算法的实际运行时间的头对头比较如下图所示。Quicksort的这种实现往往比合并排序的执行速度快几倍,这是程序员在实践中更频繁地使用它的原因之一。此外,两种算法的运行时间似...

    2017-05-17 10:49
    394
  • C++抽象编程——算法分析(6)——快速排序算法

    即使本章前面介绍的合并排序算法在理论上表现良好,也具有O(N log N)的最差情况复杂度,实际上并没有太多的应用。 相反,目前使用的大多数排序程序都是基于由英国计算机科学家C.A.R.(Tony)H...

    2017-05-15 17:49
    173
  • C++抽象编程——简单的员工信息管理系统

    本来打算今天要写的是快速排序的,那只能等明天了。因为今天突然有个老同学叫我帮她写一个简单的员工管理系统。我3点写到6点30分(没办法,毕竟我也才大二)。最后大致写了个大概,我就把他们的题目拿出来一下吧...

    2017-05-14 22:46
    1152
  • C++抽象编程——算法分析(5)——标准复杂度类

    合并算法的计算复杂度现在,我们可以根据分治法实施排序功能。效率如何? 我们当然可以通过对vector的进行排序并对结果进行测试所需时间来测量其效率。但现在开始,我们要从计算复杂度的角度考虑该算法。当你...

    2017-05-13 17:19
    690
  • C++抽象编程——算法分析(4)——合并排序算法

    然而,对大型vectory要求的排序,选择排序算法显然不符合任务,因为运行时间与输入大小的平方成比例增加,对于以线性顺序处理向量的元素的大多数排序算法也是如此。 所以要采用定性不同的方法来开发更好的排...

    2017-05-12 15:29
    630
  • C++抽象编程——算法分析(3)——深入了解Big-O

    从代码中减少计算复杂度下面的代码计算的是vector中的元素的平均值。double average(vector & vec) { int n = vec.size(); double...

    2017-05-11 19:02
    485
  • C++抽象编程——算法分析(2)——Big-O表示法

    进行如果我们按照上一篇的文章那样的详细分析的问题是您最终得到的信息太多。 虽然有一个公式来预测一个程序将要花多长时间,但是通常可以采取更多的定性措施。 本质上,选择排序的问题在于,将输入向量的大小加倍...

    2017-05-11 18:58
    559

img博客搬家
img撰写博客
img专家申请
img意见反馈
img返回顶部