写给不想做OJ题的C++学习者

2024-03-03 09:38
文章标签 c++ 不想 写给 oj 学习者

本文主要是介绍写给不想做OJ题的C++学习者,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【来信】

老师:

  您好,我看了您的很多博客内容,想请教您一些问题。
  以前自己跟着学校老师过过一遍基础的C++(谭浩强的书),现在打算自己好好的学C++,目前我也在看《C++ primer》,对语法知识和面向对象有了一定的理解(容器算法,模板方面还不太理解),现在我想做些题目,可是对OJ平台上的题目真是很烦(因为英语水平有限),往往不会去那么在意题目的细节,加上他评判的标准会不会太严格了,导致在细节上花了很多时间,而我只是想通过题目来巩固所学到的知识,并不是为了比赛去做题,也许做一些实例有帮助。。。
  老师能给我一些建议吗

【回复】
  看到你的信,我马上想到了我写过的《 CSDN博客和OJ,两种积累编程代码量的方法对比》。OJ平台是一个锻炼问题解决能力的绝好的地方,但如果要有针对性地实践某一项技术,并不合适。OJ只在乎你是否能解决问题,速度快不快。由于“严格”,对缺乏训练的初学者也会造成心理上的影响。所以,我带领我的学生探索的路线,通过CSDN发博文,让“代码积累看得见”,以此用实践为主线,获得能力的提高。
  你在看的《C++ primer》,总体对语言、语法重视更多,在精心设计的例程中,能令人欣赏到语言的精妙之处,但并不能体会到相关的成份如何体现在项目中。我的博客里,带领我的学生开展的实践,也还都局限在基本内容之中,你可以看一看有没有值得你做的题目。的确,多做一些实例,是你能有所体悟的途径。但由于我暂时没有在这方面深入建设资源,不能给你提出具体的建议。泛泛而言:(1)不急着买书,到图书馆找一找对胃口的书看,完成上面的实例,我觉得应该有合适的书;(2)到一些开源社区找一些C++写的开源代码,或者看一些开源的算法库;(3)讲“设计模式”之类的书,用C++描述的关于数据结构和算法的书,其实现可能会用到模板。

  当然,OJ中的题目,也可以直接用上STL解决,这也是种方法,且有其优势。毕竟OJ题目从程序规模上是合适的,你的不适应,恰也是你需要提高的地方。做OJ题目,是个途径,而不是目标,不去参赛,参加训练也是很好的事,我希望你不要抵触。


  

china-pub(正在发售)
卓越网(接受预订) 
图灵社区  官方试读本下载
豆瓣
==================== 迂者 贺利坚 CSDN博客专栏=================
|== IT学子成长指导专栏 专栏文章分类目录(不定期更新)  ==|
|== C++ 课堂在线专栏  贺利坚课程教学链接(分课程年级) ==|
===== 为IT菜鸟起飞铺跑道,和学生一起享受快乐和激情的大学 =====

  
    






这篇关于写给不想做OJ题的C++学习者的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/769215

相关文章

C++ 中的 if-constexpr语法和作用

《C++中的if-constexpr语法和作用》if-constexpr语法是C++17引入的新语法特性,也被称为常量if表达式或静态if(staticif),:本文主要介绍C++中的if-c... 目录1 if-constexpr 语法1.1 基本语法1.2 扩展说明1.2.1 条件表达式1.2.2 fa

C++中::SHCreateDirectoryEx函数使用方法

《C++中::SHCreateDirectoryEx函数使用方法》::SHCreateDirectoryEx用于创建多级目录,类似于mkdir-p命令,本文主要介绍了C++中::SHCreateDir... 目录1. 函数原型与依赖项2. 基本使用示例示例 1:创建单层目录示例 2:创建多级目录3. 关键注

C++从序列容器中删除元素的四种方法

《C++从序列容器中删除元素的四种方法》删除元素的方法在序列容器和关联容器之间是非常不同的,在序列容器中,vector和string是最常用的,但这里也会介绍deque和list以供全面了解,尽管在一... 目录一、简介二、移除给定位置的元素三、移除与某个值相等的元素3.1、序列容器vector、deque

C++常见容器获取头元素的方法大全

《C++常见容器获取头元素的方法大全》在C++编程中,容器是存储和管理数据集合的重要工具,不同的容器提供了不同的接口来访问和操作其中的元素,获取容器的头元素(即第一个元素)是常见的操作之一,本文将详细... 目录一、std::vector二、std::list三、std::deque四、std::forwa

C++字符串提取和分割的多种方法

《C++字符串提取和分割的多种方法》在C++编程中,字符串处理是一个常见的任务,尤其是在需要从字符串中提取特定数据时,本文将详细探讨如何使用C++标准库中的工具来提取和分割字符串,并分析不同方法的适用... 目录1. 字符串提取的基本方法1.1 使用 std::istringstream 和 >> 操作符示

C++原地删除有序数组重复项的N种方法

《C++原地删除有序数组重复项的N种方法》给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度,不要使用额外的数组空间,你必须在原地修改输入数组并在使用O(... 目录一、问题二、问题分析三、算法实现四、问题变体:最多保留两次五、分析和代码实现5.1、问题分析5.

C++ 各种map特点对比分析

《C++各种map特点对比分析》文章比较了C++中不同类型的map(如std::map,std::unordered_map,std::multimap,std::unordered_multima... 目录特点比较C++ 示例代码 ​​​​​​代码解释特点比较1. std::map底层实现:基于红黑

C++中函数模板与类模板的简单使用及区别介绍

《C++中函数模板与类模板的简单使用及区别介绍》这篇文章介绍了C++中的模板机制,包括函数模板和类模板的概念、语法和实际应用,函数模板通过类型参数实现泛型操作,而类模板允许创建可处理多种数据类型的类,... 目录一、函数模板定义语法真实示例二、类模板三、关键区别四、注意事项 ‌在C++中,模板是实现泛型编程

利用Python和C++解析gltf文件的示例详解

《利用Python和C++解析gltf文件的示例详解》gltf,全称是GLTransmissionFormat,是一种开放的3D文件格式,Python和C++是两个非常强大的工具,下面我们就来看看如何... 目录什么是gltf文件选择语言的原因安装必要的库解析gltf文件的步骤1. 读取gltf文件2. 提

C++快速排序超详细讲解

《C++快速排序超详细讲解》快速排序是一种高效的排序算法,通过分治法将数组划分为两部分,递归排序,直到整个数组有序,通过代码解析和示例,详细解释了快速排序的工作原理和实现过程,需要的朋友可以参考下... 目录一、快速排序原理二、快速排序标准代码三、代码解析四、使用while循环的快速排序1.代码代码1.由快