mirror of
https://github.com/TheAlgorithms/C-Plus-Plus.git
synced 2026-03-21 20:31:43 +08:00
Documentation for c26eea874d
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
||||
<meta name="generator" content="Doxygen 1.12.0"/>
|
||||
<meta name="generator" content="Doxygen 1.13.2"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>TheAlgorithms/C++: strings/manacher_algorithm.cpp Source File</title>
|
||||
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
|
||||
@@ -60,7 +60,7 @@ window.MathJax = {
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.12.0 -->
|
||||
<!-- Generated by Doxygen 1.13.2 -->
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
|
||||
@@ -124,7 +124,8 @@ $(function(){initNavTree('d3/d39/manacher__algorithm_8cpp_source.html','../../')
|
||||
<div class="headertitle"><div class="title">manacher_algorithm.cpp</div></div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<a href="../../d3/d39/manacher__algorithm_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span> </div>
|
||||
<a href="../../d3/d39/manacher__algorithm_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span></div>
|
||||
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span> </div>
|
||||
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="preprocessor">#include <cassert></span> </div>
|
||||
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="preprocessor">#include <cstdint></span></div>
|
||||
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="preprocessor">#include <iostream></span> </div>
|
||||
@@ -134,7 +135,7 @@ $(function(){initNavTree('d3/d39/manacher__algorithm_8cpp_source.html','../../')
|
||||
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="preprocessor">#else</span></div>
|
||||
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#include <cstring></span> </div>
|
||||
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> </div>
|
||||
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span></div>
|
||||
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="keyword">namespace </span><a class="code hl_namespace" href="../../df/dcb/namespacestrings.html">strings</a> {</div>
|
||||
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="keyword">namespace </span><a class="code hl_namespace" href="../../d8/dc6/namespacemanacher.html">manacher</a> {</div>
|
||||
<div class="foldopen" id="foldopen00041" data-start="{" data-end="}">
|
||||
@@ -244,35 +245,36 @@ $(function(){initNavTree('d3/d39/manacher__algorithm_8cpp_source.html','../../')
|
||||
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> </div>
|
||||
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span>} <span class="comment">// namespace manacher</span></div>
|
||||
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span>} <span class="comment">// namespace strings</span></div>
|
||||
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> </div>
|
||||
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span></div>
|
||||
<div class="foldopen" id="foldopen00151" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"><a class="line" href="../../d3/d39/manacher__algorithm_8cpp.html#aa8dca7b867074164d5f45b0f3851269d"> 151</a></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../d3/d39/manacher__algorithm_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a>() {</div>
|
||||
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> assert(strings::manacher::manacher(<span class="stringliteral">""</span>) == <span class="stringliteral">""</span>);</div>
|
||||
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> assert(strings::manacher::manacher(<span class="stringliteral">"abababc"</span>) == <span class="stringliteral">"ababa"</span>);</div>
|
||||
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> assert(strings::manacher::manacher(<span class="stringliteral">"cbaabd"</span>) == <span class="stringliteral">"baab"</span>);</div>
|
||||
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> assert(strings::manacher::manacher(<span class="stringliteral">"DedzefDeD"</span>) == <span class="stringliteral">"DeD"</span>);</div>
|
||||
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> assert(strings::manacher::manacher(<span class="stringliteral">"XZYYXXYZXX"</span>) == <span class="stringliteral">"YXXY"</span>);</div>
|
||||
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> assert(strings::manacher::manacher(<span class="stringliteral">"1sm222m10abc"</span>) == <span class="stringliteral">"m222m"</span>);</div>
|
||||
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> assert(strings::manacher::manacher(<span class="stringliteral">"798989591"</span>) == <span class="stringliteral">"98989"</span>);</div>
|
||||
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> assert(strings::manacher::manacher(<span class="stringliteral">"xacdedcax"</span>) == <span class="stringliteral">"xacdedcax"</span>);</div>
|
||||
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> assert(strings::manacher::manacher(<span class="stringliteral">"xaccax"</span>) == <span class="stringliteral">"xaccax"</span>);</div>
|
||||
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> assert(strings::manacher::manacher(<span class="stringliteral">"a"</span>) == <span class="stringliteral">"a"</span>);</div>
|
||||
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> assert(strings::manacher::manacher(<span class="stringliteral">"xy"</span>) == <span class="stringliteral">"x"</span>);</div>
|
||||
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> assert(strings::manacher::manacher(<span class="stringliteral">"abced"</span>) == <span class="stringliteral">"a"</span>);</div>
|
||||
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> assert(<a class="code hl_function" href="../../d3/d39/manacher__algorithm_8cpp.html#a95e6a2976bb2f332898f373941d52098">strings::manacher::manacher</a>(<span class="stringliteral">""</span>) == <span class="stringliteral">""</span>);</div>
|
||||
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> assert(<a class="code hl_function" href="../../d3/d39/manacher__algorithm_8cpp.html#a95e6a2976bb2f332898f373941d52098">strings::manacher::manacher</a>(<span class="stringliteral">"abababc"</span>) == <span class="stringliteral">"ababa"</span>);</div>
|
||||
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> assert(<a class="code hl_function" href="../../d3/d39/manacher__algorithm_8cpp.html#a95e6a2976bb2f332898f373941d52098">strings::manacher::manacher</a>(<span class="stringliteral">"cbaabd"</span>) == <span class="stringliteral">"baab"</span>);</div>
|
||||
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> assert(<a class="code hl_function" href="../../d3/d39/manacher__algorithm_8cpp.html#a95e6a2976bb2f332898f373941d52098">strings::manacher::manacher</a>(<span class="stringliteral">"DedzefDeD"</span>) == <span class="stringliteral">"DeD"</span>);</div>
|
||||
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> assert(<a class="code hl_function" href="../../d3/d39/manacher__algorithm_8cpp.html#a95e6a2976bb2f332898f373941d52098">strings::manacher::manacher</a>(<span class="stringliteral">"XZYYXXYZXX"</span>) == <span class="stringliteral">"YXXY"</span>);</div>
|
||||
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> assert(<a class="code hl_function" href="../../d3/d39/manacher__algorithm_8cpp.html#a95e6a2976bb2f332898f373941d52098">strings::manacher::manacher</a>(<span class="stringliteral">"1sm222m10abc"</span>) == <span class="stringliteral">"m222m"</span>);</div>
|
||||
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> assert(<a class="code hl_function" href="../../d3/d39/manacher__algorithm_8cpp.html#a95e6a2976bb2f332898f373941d52098">strings::manacher::manacher</a>(<span class="stringliteral">"798989591"</span>) == <span class="stringliteral">"98989"</span>);</div>
|
||||
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> assert(<a class="code hl_function" href="../../d3/d39/manacher__algorithm_8cpp.html#a95e6a2976bb2f332898f373941d52098">strings::manacher::manacher</a>(<span class="stringliteral">"xacdedcax"</span>) == <span class="stringliteral">"xacdedcax"</span>);</div>
|
||||
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> assert(<a class="code hl_function" href="../../d3/d39/manacher__algorithm_8cpp.html#a95e6a2976bb2f332898f373941d52098">strings::manacher::manacher</a>(<span class="stringliteral">"xaccax"</span>) == <span class="stringliteral">"xaccax"</span>);</div>
|
||||
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> assert(<a class="code hl_function" href="../../d3/d39/manacher__algorithm_8cpp.html#a95e6a2976bb2f332898f373941d52098">strings::manacher::manacher</a>(<span class="stringliteral">"a"</span>) == <span class="stringliteral">"a"</span>);</div>
|
||||
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> assert(<a class="code hl_function" href="../../d3/d39/manacher__algorithm_8cpp.html#a95e6a2976bb2f332898f373941d52098">strings::manacher::manacher</a>(<span class="stringliteral">"xy"</span>) == <span class="stringliteral">"x"</span>);</div>
|
||||
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> assert(<a class="code hl_function" href="../../d3/d39/manacher__algorithm_8cpp.html#a95e6a2976bb2f332898f373941d52098">strings::manacher::manacher</a>(<span class="stringliteral">"abced"</span>) == <span class="stringliteral">"a"</span>);</div>
|
||||
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> </div>
|
||||
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> std::cout << <span class="stringliteral">"All tests have passed!"</span> << std::endl;</div>
|
||||
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span>}</div>
|
||||
</div>
|
||||
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> </div>
|
||||
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span></div>
|
||||
<div class="foldopen" id="foldopen00172" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"><a class="line" href="../../d3/d39/manacher__algorithm_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4"> 172</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="../../d3/d39/manacher__algorithm_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a>() {</div>
|
||||
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> <a class="code hl_function" href="../../d3/d39/manacher__algorithm_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a>(); <span class="comment">// run self-test implementations</span></div>
|
||||
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span>}</div>
|
||||
</div>
|
||||
<div class="ttc" id="amanacher__algorithm_8cpp_html_a95e6a2976bb2f332898f373941d52098"><div class="ttname"><a href="../../d3/d39/manacher__algorithm_8cpp.html#a95e6a2976bb2f332898f373941d52098">strings::manacher::manacher</a></div><div class="ttdeci">std::string manacher(const std::string &prototype)</div><div class="ttdoc">A function that implements Manacher's algorithm.</div><div class="ttdef"><b>Definition</b> <a href="#l00041">manacher_algorithm.cpp:41</a></div></div>
|
||||
<div class="ttc" id="amanacher__algorithm_8cpp_html_aa8dca7b867074164d5f45b0f3851269d"><div class="ttname"><a href="../../d3/d39/manacher__algorithm_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a></div><div class="ttdeci">static void test()</div><div class="ttdoc">Self-test implementations.</div><div class="ttdef"><b>Definition</b> <a href="#l00151">manacher_algorithm.cpp:151</a></div></div>
|
||||
<div class="ttc" id="amanacher__algorithm_8cpp_html_ae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../d3/d39/manacher__algorithm_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdoc">Main function.</div><div class="ttdef"><b>Definition</b> <a href="#l00172">manacher_algorithm.cpp:172</a></div></div>
|
||||
<div class="ttc" id="anamespacemanacher_html"><div class="ttname"><a href="../../d8/dc6/namespacemanacher.html">manacher</a></div><div class="ttdoc">Functions for Manacher's Algorithm implementation.</div></div>
|
||||
<div class="ttc" id="anamespacemanacher_html"><div class="ttname"><a href="../../d8/dc6/namespacemanacher.html">manacher</a></div><div class="ttdoc">Functions for Manacher's Algorithm implementation.</div></div>
|
||||
<div class="ttc" id="anamespacestrings_html"><div class="ttname"><a href="../../df/dcb/namespacestrings.html">strings</a></div><div class="ttdoc">String algorithms.</div><div class="ttdef"><b>Definition</b> <a href="../../d3/db2/boyer__moore_8cpp_source.html#l00058">boyer_moore.cpp:58</a></div></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
</div><!-- doc-content -->
|
||||
@@ -280,7 +282,7 @@ $(function(){initNavTree('d3/d39/manacher__algorithm_8cpp_source.html','../../')
|
||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="../../dir_73a3cc5065b223eb41b02873c0e19f0e.html">strings</a></li><li class="navelem"><a class="el" href="../../d3/d39/manacher__algorithm_8cpp.html">manacher_algorithm.cpp</a></li>
|
||||
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
|
||||
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
Reference in New Issue
Block a user