├── .vs ├── DataStructure by CPlusPlus │ └── v16 │ │ └── .suo ├── ProjectSettings.json ├── VSWorkspaceState.json └── slnx.sqlite ├── DataStructure by CPlusPlus.sln ├── DataStructure by CPlusPlus.vcxproj ├── DataStructure by CPlusPlus.vcxproj.filters ├── DataStructure by CPlusPlus.vcxproj.user ├── Debug ├── DataStru.FE8A0653.tlog │ ├── CL.command.1.tlog │ ├── CL.read.1.tlog │ ├── CL.write.1.tlog │ ├── DataStructure by CPlusPlus.lastbuildstate │ ├── link.command.1.tlog │ ├── link.read.1.tlog │ └── link.write.1.tlog ├── DataStructure by CPlusPlus.exe ├── DataStructure by CPlusPlus.ilk ├── DataStructure by CPlusPlus.log ├── DataStructure by CPlusPlus.pdb ├── main.obj ├── vc142.idb └── vc142.pdb ├── LICENSE ├── README.md ├── arrayListNoSTL.h ├── changeLength1D.h ├── linearList.h ├── main.cpp ├── myExceptions.h ├── sdf.h └── x64 └── Debug ├── DataStru.FE8A0653.tlog ├── CL.command.1.tlog ├── CL.read.1.tlog ├── CL.write.1.tlog ├── DataStructure by CPlusPlus.lastbuildstate ├── link.command.1.tlog ├── link.read.1.tlog └── link.write.1.tlog ├── DataStructure by CPlusPlus.exe ├── DataStructure by CPlusPlus.ilk ├── DataStructure by CPlusPlus.log ├── DataStructure by CPlusPlus.pdb ├── main.obj ├── vc142.idb └── vc142.pdb /.vs/DataStructure by CPlusPlus/v16/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wallacedos/DataStructureByCPlusPlus/33fd55395bd55f8e12a5e8acec4f9c6942b83f7b/.vs/DataStructure by CPlusPlus/v16/.suo -------------------------------------------------------------------------------- /.vs/ProjectSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "CurrentProjectSetting": "无配置" 3 | } -------------------------------------------------------------------------------- /.vs/VSWorkspaceState.json: -------------------------------------------------------------------------------- 1 | { 2 | "ExpandedNodes": [ 3 | "" 4 | ], 5 | "PreviewInSolutionExplorer": false 6 | } -------------------------------------------------------------------------------- /.vs/slnx.sqlite: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wallacedos/DataStructureByCPlusPlus/33fd55395bd55f8e12a5e8acec4f9c6942b83f7b/.vs/slnx.sqlite -------------------------------------------------------------------------------- /DataStructure by CPlusPlus.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 16 4 | VisualStudioVersion = 16.0.29215.179 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DataStructure by CPlusPlus", "DataStructure by CPlusPlus.vcxproj", "{FE8A0653-CFEE-4BF7-9714-BDD0C4505C63}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|x64 = Debug|x64 11 | Debug|x86 = Debug|x86 12 | Release|x64 = Release|x64 13 | Release|x86 = Release|x86 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {FE8A0653-CFEE-4BF7-9714-BDD0C4505C63}.Debug|x64.ActiveCfg = Debug|x64 17 | {FE8A0653-CFEE-4BF7-9714-BDD0C4505C63}.Debug|x64.Build.0 = Debug|x64 18 | {FE8A0653-CFEE-4BF7-9714-BDD0C4505C63}.Debug|x86.ActiveCfg = Debug|Win32 19 | {FE8A0653-CFEE-4BF7-9714-BDD0C4505C63}.Debug|x86.Build.0 = Debug|Win32 20 | {FE8A0653-CFEE-4BF7-9714-BDD0C4505C63}.Release|x64.ActiveCfg = Release|x64 21 | {FE8A0653-CFEE-4BF7-9714-BDD0C4505C63}.Release|x64.Build.0 = Release|x64 22 | {FE8A0653-CFEE-4BF7-9714-BDD0C4505C63}.Release|x86.ActiveCfg = Release|Win32 23 | {FE8A0653-CFEE-4BF7-9714-BDD0C4505C63}.Release|x86.Build.0 = Release|Win32 24 | EndGlobalSection 25 | GlobalSection(SolutionProperties) = preSolution 26 | HideSolutionNode = FALSE 27 | EndGlobalSection 28 | GlobalSection(ExtensibilityGlobals) = postSolution 29 | SolutionGuid = {F1B578B9-37FE-4E2B-9A9A-6BB27D0F3DED} 30 | EndGlobalSection 31 | EndGlobal 32 | -------------------------------------------------------------------------------- /DataStructure by CPlusPlus.vcxproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | Win32 7 | 8 | 9 | Release 10 | Win32 11 | 12 | 13 | Debug 14 | x64 15 | 16 | 17 | Release 18 | x64 19 | 20 | 21 | 22 | 16.0 23 | {FE8A0653-CFEE-4BF7-9714-BDD0C4505C63} 24 | Win32Proj 25 | DataStructurebyCPlusPlus 26 | 10.0 27 | 28 | 29 | 30 | Application 31 | true 32 | v142 33 | Unicode 34 | 35 | 36 | Application 37 | false 38 | v142 39 | true 40 | Unicode 41 | 42 | 43 | Application 44 | true 45 | v142 46 | Unicode 47 | 48 | 49 | Application 50 | false 51 | v142 52 | true 53 | Unicode 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | true 75 | 76 | 77 | true 78 | 79 | 80 | false 81 | 82 | 83 | false 84 | 85 | 86 | 87 | Level3 88 | Disabled 89 | true 90 | WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) 91 | true 92 | 93 | 94 | Console 95 | true 96 | 97 | 98 | 99 | 100 | Level3 101 | Disabled 102 | true 103 | _DEBUG;_CONSOLE;%(PreprocessorDefinitions) 104 | true 105 | 106 | 107 | Console 108 | true 109 | 110 | 111 | 112 | 113 | Level3 114 | MaxSpeed 115 | true 116 | true 117 | true 118 | WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) 119 | true 120 | 121 | 122 | Console 123 | true 124 | true 125 | true 126 | 127 | 128 | 129 | 130 | Level3 131 | MaxSpeed 132 | true 133 | true 134 | true 135 | NDEBUG;_CONSOLE;%(PreprocessorDefinitions) 136 | true 137 | 138 | 139 | Console 140 | true 141 | true 142 | true 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | -------------------------------------------------------------------------------- /DataStructure by CPlusPlus.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hh;hpp;hxx;hm;inl;inc;ipp;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | 18 | 19 | 源文件 20 | 21 | 22 | 23 | 24 | 头文件 25 | 26 | 27 | 头文件 28 | 29 | 30 | 头文件 31 | 32 | 33 | 头文件 34 | 35 | 36 | 头文件 37 | 38 | 39 | -------------------------------------------------------------------------------- /DataStructure by CPlusPlus.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /Debug/DataStru.FE8A0653.tlog/CL.command.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wallacedos/DataStructureByCPlusPlus/33fd55395bd55f8e12a5e8acec4f9c6942b83f7b/Debug/DataStru.FE8A0653.tlog/CL.command.1.tlog -------------------------------------------------------------------------------- /Debug/DataStru.FE8A0653.tlog/CL.read.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wallacedos/DataStructureByCPlusPlus/33fd55395bd55f8e12a5e8acec4f9c6942b83f7b/Debug/DataStru.FE8A0653.tlog/CL.read.1.tlog -------------------------------------------------------------------------------- /Debug/DataStru.FE8A0653.tlog/CL.write.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wallacedos/DataStructureByCPlusPlus/33fd55395bd55f8e12a5e8acec4f9c6942b83f7b/Debug/DataStru.FE8A0653.tlog/CL.write.1.tlog -------------------------------------------------------------------------------- /Debug/DataStru.FE8A0653.tlog/DataStructure by CPlusPlus.lastbuildstate: -------------------------------------------------------------------------------- 1 | #TargetFrameworkVersion=v4.0:PlatformToolSet=v142:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=10.0 2 | Debug|Win32|D:\DataStructure by CPlusPlus\| 3 | -------------------------------------------------------------------------------- /Debug/DataStru.FE8A0653.tlog/link.command.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wallacedos/DataStructureByCPlusPlus/33fd55395bd55f8e12a5e8acec4f9c6942b83f7b/Debug/DataStru.FE8A0653.tlog/link.command.1.tlog -------------------------------------------------------------------------------- /Debug/DataStru.FE8A0653.tlog/link.read.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wallacedos/DataStructureByCPlusPlus/33fd55395bd55f8e12a5e8acec4f9c6942b83f7b/Debug/DataStru.FE8A0653.tlog/link.read.1.tlog -------------------------------------------------------------------------------- /Debug/DataStru.FE8A0653.tlog/link.write.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wallacedos/DataStructureByCPlusPlus/33fd55395bd55f8e12a5e8acec4f9c6942b83f7b/Debug/DataStru.FE8A0653.tlog/link.write.1.tlog -------------------------------------------------------------------------------- /Debug/DataStructure by CPlusPlus.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wallacedos/DataStructureByCPlusPlus/33fd55395bd55f8e12a5e8acec4f9c6942b83f7b/Debug/DataStructure by CPlusPlus.exe -------------------------------------------------------------------------------- /Debug/DataStructure by CPlusPlus.ilk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wallacedos/DataStructureByCPlusPlus/33fd55395bd55f8e12a5e8acec4f9c6942b83f7b/Debug/DataStructure by CPlusPlus.ilk -------------------------------------------------------------------------------- /Debug/DataStructure by CPlusPlus.log: -------------------------------------------------------------------------------- 1 |  main.cpp 2 | DataStructure by CPlusPlus.vcxproj -> D:\DataStructure by CPlusPlus\Debug\DataStructure by CPlusPlus.exe 3 | -------------------------------------------------------------------------------- /Debug/DataStructure by CPlusPlus.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wallacedos/DataStructureByCPlusPlus/33fd55395bd55f8e12a5e8acec4f9c6942b83f7b/Debug/DataStructure by CPlusPlus.pdb -------------------------------------------------------------------------------- /Debug/main.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wallacedos/DataStructureByCPlusPlus/33fd55395bd55f8e12a5e8acec4f9c6942b83f7b/Debug/main.obj -------------------------------------------------------------------------------- /Debug/vc142.idb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wallacedos/DataStructureByCPlusPlus/33fd55395bd55f8e12a5e8acec4f9c6942b83f7b/Debug/vc142.idb -------------------------------------------------------------------------------- /Debug/vc142.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wallacedos/DataStructureByCPlusPlus/33fd55395bd55f8e12a5e8acec4f9c6942b83f7b/Debug/vc142.pdb -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 wallacedos 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # DataStructureByCPlusPlus简要介绍
2 | 按萨尼.《数据结构、算法与应用C++语言描述第二版》一书的脉络介绍算法与数据结构的相关知识,并按课后习题和实际工程要求丰富有关数据结构类的功能。微信公众号地震成像与模拟中的专辑《算法与数据结构》中文章给出了每个测试例子的说明。main.cpp包含了所有的测试例子,其他头文件则实现了具体数据结构类与自定义函数。详细说明如下:
3 | 1. main.cpp,主函数,用以测试相关功能函数与数据结构类。更多信息,可关注微信公众号地震成像与模拟,当中的专辑《算法与数据结构》的文章给出了关于本程序中每个测试例子的详细描述。 4 | 2. sdf.h: 学习算法与数据结构过程中,我们需要的一些公共的(不从属于某个类的)自定义函数的结合。 5 | 3. myExceptions.h:自定义异常类,在需要的时候抛异常。 6 | 4. linearList.h: 线性表的虚基类,抽象父类。 7 | 5. arrayListNoSTL.h: 继承自虚基类linearList,并对其中每个函数实例化。 8 | 6. changeLength1D.h:在线性表存储空间不够时,扩展线性表的内存,即扩展动态数组的长度。 9 | -------------------------------------------------------------------------------- /arrayListNoSTL.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wallacedos/DataStructureByCPlusPlus/33fd55395bd55f8e12a5e8acec4f9c6942b83f7b/arrayListNoSTL.h -------------------------------------------------------------------------------- /changeLength1D.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wallacedos/DataStructureByCPlusPlus/33fd55395bd55f8e12a5e8acec4f9c6942b83f7b/changeLength1D.h -------------------------------------------------------------------------------- /linearList.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wallacedos/DataStructureByCPlusPlus/33fd55395bd55f8e12a5e8acec4f9c6942b83f7b/linearList.h -------------------------------------------------------------------------------- /main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wallacedos/DataStructureByCPlusPlus/33fd55395bd55f8e12a5e8acec4f9c6942b83f7b/main.cpp -------------------------------------------------------------------------------- /myExceptions.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wallacedos/DataStructureByCPlusPlus/33fd55395bd55f8e12a5e8acec4f9c6942b83f7b/myExceptions.h -------------------------------------------------------------------------------- /sdf.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wallacedos/DataStructureByCPlusPlus/33fd55395bd55f8e12a5e8acec4f9c6942b83f7b/sdf.h -------------------------------------------------------------------------------- /x64/Debug/DataStru.FE8A0653.tlog/CL.command.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wallacedos/DataStructureByCPlusPlus/33fd55395bd55f8e12a5e8acec4f9c6942b83f7b/x64/Debug/DataStru.FE8A0653.tlog/CL.command.1.tlog -------------------------------------------------------------------------------- /x64/Debug/DataStru.FE8A0653.tlog/CL.read.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wallacedos/DataStructureByCPlusPlus/33fd55395bd55f8e12a5e8acec4f9c6942b83f7b/x64/Debug/DataStru.FE8A0653.tlog/CL.read.1.tlog -------------------------------------------------------------------------------- /x64/Debug/DataStru.FE8A0653.tlog/CL.write.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wallacedos/DataStructureByCPlusPlus/33fd55395bd55f8e12a5e8acec4f9c6942b83f7b/x64/Debug/DataStru.FE8A0653.tlog/CL.write.1.tlog -------------------------------------------------------------------------------- /x64/Debug/DataStru.FE8A0653.tlog/DataStructure by CPlusPlus.lastbuildstate: -------------------------------------------------------------------------------- 1 | #TargetFrameworkVersion=v4.0:PlatformToolSet=v142:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=10.0 2 | Debug|x64|D:\DataStructure by CPlusPlus\| 3 | -------------------------------------------------------------------------------- /x64/Debug/DataStru.FE8A0653.tlog/link.command.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wallacedos/DataStructureByCPlusPlus/33fd55395bd55f8e12a5e8acec4f9c6942b83f7b/x64/Debug/DataStru.FE8A0653.tlog/link.command.1.tlog -------------------------------------------------------------------------------- /x64/Debug/DataStru.FE8A0653.tlog/link.read.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wallacedos/DataStructureByCPlusPlus/33fd55395bd55f8e12a5e8acec4f9c6942b83f7b/x64/Debug/DataStru.FE8A0653.tlog/link.read.1.tlog -------------------------------------------------------------------------------- /x64/Debug/DataStru.FE8A0653.tlog/link.write.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wallacedos/DataStructureByCPlusPlus/33fd55395bd55f8e12a5e8acec4f9c6942b83f7b/x64/Debug/DataStru.FE8A0653.tlog/link.write.1.tlog -------------------------------------------------------------------------------- /x64/Debug/DataStructure by CPlusPlus.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wallacedos/DataStructureByCPlusPlus/33fd55395bd55f8e12a5e8acec4f9c6942b83f7b/x64/Debug/DataStructure by CPlusPlus.exe -------------------------------------------------------------------------------- /x64/Debug/DataStructure by CPlusPlus.ilk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wallacedos/DataStructureByCPlusPlus/33fd55395bd55f8e12a5e8acec4f9c6942b83f7b/x64/Debug/DataStructure by CPlusPlus.ilk -------------------------------------------------------------------------------- /x64/Debug/DataStructure by CPlusPlus.log: -------------------------------------------------------------------------------- 1 |  main.cpp 2 | DataStructure by CPlusPlus.vcxproj -> D:\DataStructure by CPlusPlus\x64\Debug\DataStructure by CPlusPlus.exe 3 | -------------------------------------------------------------------------------- /x64/Debug/DataStructure by CPlusPlus.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wallacedos/DataStructureByCPlusPlus/33fd55395bd55f8e12a5e8acec4f9c6942b83f7b/x64/Debug/DataStructure by CPlusPlus.pdb -------------------------------------------------------------------------------- /x64/Debug/main.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wallacedos/DataStructureByCPlusPlus/33fd55395bd55f8e12a5e8acec4f9c6942b83f7b/x64/Debug/main.obj -------------------------------------------------------------------------------- /x64/Debug/vc142.idb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wallacedos/DataStructureByCPlusPlus/33fd55395bd55f8e12a5e8acec4f9c6942b83f7b/x64/Debug/vc142.idb -------------------------------------------------------------------------------- /x64/Debug/vc142.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wallacedos/DataStructureByCPlusPlus/33fd55395bd55f8e12a5e8acec4f9c6942b83f7b/x64/Debug/vc142.pdb --------------------------------------------------------------------------------