学习数据结构,寻找优秀代码参考学习(C++),能够实现功能即可,发邮箱413715076@qq.com

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习数据结构,寻找优秀代码参考学习(C++),能够实现功能即可,发邮箱413715076@qq.com相关的知识,希望对你有一定的参考价值。

一 线性表的顺序存储结构
1.输入一组整型元素序列,建立顺序表。
2.实现该顺序表的遍历。
3.在该顺序表中进行顺序查找某一元素,查找成功返回1,否则返回0。
4.判断该顺序表中元素是否对称,对称返回1,否则返回0。
5.实现把该表中所有奇数排在偶数之前,即表的前面为奇数,后面为偶数。
6.输入整型元素序列利用有序表插入算法建立一个有序表。
7.利用算法6建立两个非递减有序表并把它们合并成一个非递减有序表。
8.编写一个主函数,调试上述算法。
二 单向链表的有关操作
1.随机产生或键盘输入一组元素,建立一个带头结点的单向链表(无序)。
2.遍历单向链表。
3.把单向链表中元素逆置(不允许申请新的结点空间)。
4.在单向链表中删除所有的偶数元素结点。
5.编写在非递减有序链表中插入一个元素使链表元素仍有序的函数,并利用该函数建立一个非递减有序单向链表。
6.利用算法5建立两个非递减有序单向链表,然后合并成一个非递增链表。
7.编写一个主函数,调试上述算法。
三 表达式计算
1.采用顺序存储实现栈的初始化、入栈、出栈操作;
2.利用栈实现把中缀表达式转换为后缀表达式的算法;
3.编写后缀表达式求值的算法;
4.编写一个主函数,调试上述算法。
四 二叉树操作
1.输入字符序列,建立二叉链表。
2.中序遍历二叉树:递归算法。
3.中序遍历二叉树:非递归算法。(最好也能实现先序,后序非递归算法)
4.求二叉树的高度 。
5.求二叉树的叶子个数。
6.编写一个主函数,调试上述算法。
五 图的有关操作
1.键盘输入数据,建立一个无向图的邻接表。
2.采用邻接表存储实现无向图的深度优先非递归遍历。
3. 采用邻接表存储实现无向图的广度优先遍历。
4.采用邻接矩阵存储一个无向图。
5.采用邻接矩阵存储实现无向图的最小生成树的PRIM算法。
6.编写一个主函数,调试上述算法。
六 查找的有关操作
1. 随机产生一组关键字,已知散列函数为H(key)=key%p(p为自定的常数),冲突处理方法为线性探测法实现散列表的建立(利用插入算法实现);
2.编写从散列表中查找一个元素的算法。
七 排序
输入一组关键字序列分别实现下列排序:
1.实现简单选择排序、直接插入排序和冒泡排序。
2.实现希尔排序算法。
3.实现快速排序算法。
4.实现堆排序算法。
5.快速排序的非递归算法。

参考技术A 哇噻,,,,你这是把整本的数据结构都做一遍啊。

学习用于游戏编程的 C++ 的资源 [关闭]

【中文标题】学习用于游戏编程的 C++ 的资源 [关闭]【英文标题】:Resources for learning C++ for game programming [closed] 【发布时间】:2010-11-04 10:31:23 【问题描述】:

我是 C++ 方面的新手,在游戏行业工作了几个月。我希望重返这个行业,并了解一个人需要成为一名非常优秀的 C++ 程序员(主要是因为进入游戏制作行业的竞争力有多大)。我想知道是否有任何非常好的在线网站可以对此有所帮助。基本上我正在寻找可以帮助我掌握 C++ 概念并通过练习编程示例帮助我成为一名优秀编码人员的东西。

【问题讨论】:

The Definitive C++ Book Guide and List 的可能重复项 【参考方案1】:

Scott Meyers 的书籍:《Effective C++》、《More Effective C++》和《Effective STL》对你来说绝对是必不可少的。

添加到 Andrei Alexandrescu 的“现代 C++ 设计”中。

【讨论】:

【参考方案2】:

有人曾经说过,学习 C++ 需要 10 年。拥有 14 年的 C++ 经验并且仍然经常学习新事物,我会说这是真的。即使在我拥有丰富的经验之后,我也会犹豫称自己为 C++ 专家。不要指望一夜之间掌握它......你会经历许多阶段,你认为你会得到它,然后你会发现一个全新的世界(因为没有更好的术语;我相信理查德·道金斯将这个过程称为“意识提升”)。我已经开始接受这些顿悟中的另一个总是在我之前,因此我为什么不称自己为专家。

也就是说,你必须练习练习练习。我将成为 Gamedev.net 的第 2 名(或第 3 名或第 4 名,无论我们现在处于什么位置)。那天我在那里度过了很多时间......

【讨论】:

哦,是的。每次你认为你知道这一切时,都会出现一个新的错误。一旦你弄清楚这一点,你就会意识到你曾经是多么的搞砸了。这个过程无限期地继续。 :)【参考方案3】:

GameDev.net.

在资源中,有一个“初学者”部分。通读所有这些!

【讨论】:

【参考方案4】:

C++ FAQ Lite 很好。你可以从那个网站学到很多东西,还有一本相关的书也不错。

Scott Meyers 的书也包含非常好的具体建议。

【讨论】:

【参考方案5】:

C++ 是一门很棒的语言,我喜欢它。它构建了快得离谱的代码。通过充分利用分析器、分析驱动的优化器、模块间优化器、const 和 restrict 关键字、MMX/SSE/vector 内在函数和其他东西,它可以构建非常快的代码。

您可能会关注大型游戏公司的招聘信息,并且大量 C++ 需求。

也就是说,这并不是开发游戏的唯一方法。我只是想介绍一些替代方案。

Microsoft 的 .NET 东西运行良好。查看他们的XNA platform。

即使使用 Java,您也可以编写出色的游戏。有一个Java version of Quake2,在我家里的Core I7系统上某些区域可以达到1000 FPS。大部分繁重的工作当然是在 OpenGL 和图形驱动程序中。

很多人都在用 Flash 编写有趣的游戏,它的语言性能比 Java 或 .NET 差得多。

【讨论】:

【参考方案6】:

我完全推荐 Brucke Eckel 的:用 C++ 思考

你可以在他的网页上免费下载。

http://www.mindview.net/Books/TICPP/ThinkingInCPP2e.html

这应该可以帮助你掌握 C++,从那里你可以开始阅读引擎的代码,比如 Ogre3D,这将是一个更好的学习。

稍后,您应该查看 GameDev.net 上的书籍,它们真的很酷。但在我看来,GameDev 中找到的文章已经过时了。

【讨论】:

如果我今天没有达到我的极限,我会支持你,作为程序员进一步发展自己的最佳方式,阅读其他人的代码。如果您在此过程中为开源做出贡献,这可以转化为简历开发。【参考方案7】:

www.gamdev.net 是游戏编程的绝佳资源。

我也会推荐Game Programming Gems Series。

就掌握 C++ 概念而言,谁比创建 C++ 的人更适合学习? 他写道:C++ Programming Language

【讨论】:

除了游戏编程gem之外,还有图形gem系列可以了解你使用的引擎的底层算法,或者如果你想制作一个。以及 gpu gems 系列,学习如何针对特定任务/优化对 gpu 进行编程。【参考方案8】:

一种重新投入并同时获得乐趣的方法是阅读Nehe's OpenGL 教程,或使用更高级别的游戏框架,例如Irrlicht 或Ogre3D

【讨论】:

【参考方案9】:

您应该在http://www.geometrictools.com/ 上查看wildmagic。这是一个不错的游戏引擎,有很多示例代码和相关书籍。我强烈推荐它作为对 c++ 游戏引擎的深入研究。

【讨论】:

我已经使用 Wild Magic 1、2 和 3 好几年了,我不完全确定我是否同意。这些引擎非常擅长展示相关概念的数学原理,但通常表现出非常糟糕的软件设计和实现原则。【参考方案10】:

我通过以下书籍学习了 C++(之前没有编码经验):

Brian Overland 的《无所畏惧的 C++》

《Sams 24 小时自学 C++》第四版

Jonathan S. Harbour 撰写的“通过 C++ 开始游戏编程”第二版

第一个很好,很详细,虽然读起来有点慢。第二个我主要用作参考,最后一个非常有用且易于阅读,但它经常使用“超出本书范围”这个短语。

【讨论】:

没有恐惧的 C++ 很好,但它并没有进入 STL(根本),它的字符串章节专注于 cstrings 而不是字符串类 std::string。否则,可靠的选择。 我个人倾向于不寒而栗并远离任何声称可以在规定的短时间内教你一些东西的书。 我也在 24 小时内自学 C++。我仍然偶尔将其用作参考。我认为这是一个很好的介绍,但其中有一些非常非常糟糕的做法。任何阅读它的人都必须立即阅读一本关于最佳实践的书。【参考方案11】:

The C++ Programming Language 通过 Bjarne Stroustrup。

我至今仍在使用它。它包含对 C++ 语言所有特性的简洁描述。当我在网上搜索这些信息时,它的蓬勃发展超出了清晰的理解。 Bjarne 在明确定义语言的所有原则方面做得非常好,这是必须的。我没有读过整本书,但我读过小节。

(还对 Effective C++、Effective STL 和 Exceptional C++ (Sutter) 投了赞成票)

【讨论】:

【参考方案12】:

以上是学习C++和游戏的好建议……

如果你只是想制作游戏没有很多编程背景,我会给你推荐软件...

您可以快速制作简单的游戏,然后学习制作严肃游戏所需的 C++ 和其他语言...

软件:

游戏制作者

http://www.yoyogames.com/make

游戏工厂 2

http://www.clickteam.com/eng/tgf2.php

书籍

想象自己创造视频游戏,第 1 版

精彩的游戏创作:无需编程,第 3 版

在几分钟内制作出令人惊叹的游戏,第 1 版

祝你好运……

【讨论】:

【参考方案13】:

我建议从基础开始:

C 编程语言,Kernigan 和 Ritchie 着。 通过这本书,您将比其他人更接近 C 的内部结构。然后你就可以阅读 C++ 书籍了。

【讨论】:

以上是关于学习数据结构,寻找优秀代码参考学习(C++),能够实现功能即可,发邮箱413715076@qq.com的主要内容,如果未能解决你的问题,请参考以下文章

C++学习39 异常处理入门(try和catch)

10个经典的C++源码

学习用于游戏编程的 C++ 的资源 [关闭]

C++缺省参数:学习成为一名优秀的舔狗

UE4 C++ UE4 C++ 入门(无参考项目)——技术宅阿棍儿 学习笔记 更新中~

Qt: 记事本源代码