mirror of
https://github.com/TheAlgorithms/C-Plus-Plus.git
synced 2026-11-06 07:38:47 +08:00
Documentation for 8b1eab204b
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
<!-- HTML header for doxygen 1.12.0-->
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
|
||||
<head>
|
||||
@@ -5,10 +6,15 @@
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
||||
<meta name="generator" content="Doxygen 1.12.0"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>Algorithms_in_C++: sorting/count_inversions.cpp File Reference</title>
|
||||
<title>TheAlgorithms/C++: sorting/count_inversions.cpp File Reference</title>
|
||||
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
|
||||
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="../../jquery.js"></script>
|
||||
<script type="text/javascript" src="../../dynsections.js"></script>
|
||||
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/@xpack-3rd-party/doxygen-awesome-css@2.2.0-1/doxygen-awesome-darkmode-toggle.js"></script>
|
||||
<script type="text/javascript">
|
||||
DoxygenAwesomeDarkModeToggle.init()
|
||||
</script>
|
||||
<script type="text/javascript" src="../../clipboard.js"></script>
|
||||
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="../../navtreedata.js"></script>
|
||||
@@ -18,14 +24,24 @@
|
||||
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="../../search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="../../search/search.js"></script>
|
||||
<script type="text/x-mathjax-config">
|
||||
MathJax.Hub.Config({
|
||||
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
|
||||
jax: ["input/TeX","output/HTML-CSS"],
|
||||
});
|
||||
<script type="text/javascript">
|
||||
window.MathJax = {
|
||||
options: {
|
||||
ignoreHtmlClass: 'tex2jax_ignore',
|
||||
processHtmlClass: 'tex2jax_process'
|
||||
},
|
||||
loader: {
|
||||
load: ['[tex]/ams']
|
||||
},
|
||||
tex: {
|
||||
macros: {},
|
||||
packages: ['base','configmacros','ams']
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
|
||||
<script type="text/javascript" id="MathJax-script" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml.js"></script>
|
||||
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
|
||||
<link href="../../doxygen-awesome.css" rel="stylesheet" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
@@ -33,10 +49,11 @@ MathJax.Hub.Config({
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectlogo"><img alt="Logo" src="../../project_logo.png"/></td>
|
||||
<td id="projectalign">
|
||||
<div id="projectname">Algorithms_in_C++<span id="projectnumber"> 1.0.0</span>
|
||||
<div id="projectname">TheAlgorithms/C++<span id="projectnumber"> 1.0.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">Set of algorithms implemented in C++.</div>
|
||||
<div id="projectbrief">All the algorithms implemented in C++</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
@@ -122,7 +139,9 @@ Include dependency graph for count_inversions.cpp:</div>
|
||||
<div class="dyncontent">
|
||||
<div class="center"><iframe scrolling="no" frameborder="0" src="../../db/d6c/count__inversions_8cpp__incl.svg" width="336" height="111"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
|
||||
</div>
|
||||
</div><table class="memberdecls">
|
||||
</div>
|
||||
<p><a href="../../d2/d26/count__inversions_8cpp_source.html">Go to the source code of this file.</a></p>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
|
||||
Namespaces</h2></td></tr>
|
||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d91/namespacesorting.html">sorting</a></td></tr>
|
||||
@@ -174,6 +193,8 @@ Algorithm</h3>
|
||||
<li>Print the answer</li>
|
||||
</ol>
|
||||
<dl class="section author"><dt>Author</dt><dd><a href="https://github.com/rakshitraj" target="_blank">Rakshit Raj</a> </dd></dl>
|
||||
|
||||
<p class="definition">Definition in file <a class="el" href="../../d2/d26/count__inversions_8cpp_source.html">count_inversions.cpp</a>.</p>
|
||||
</div><h2 class="groupheader">Function Documentation</h2>
|
||||
<a id="a3332498eabf6579ef059c0d0e9f4ec80" name="a3332498eabf6579ef059c0d0e9f4ec80"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a3332498eabf6579ef059c0d0e9f4ec80">◆ </a></span>countInversion()</h2>
|
||||
@@ -200,29 +221,22 @@ template<class T > </div>
|
||||
<p>Number of inversions in a sorted array is 0. Number of inversion in an array[1...n] sorted in non-ascending order is n(n-1)/2, since each pair of elements contitute an inversion.</p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">arr</td><td>- array, data member of <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<int></a>, input for counting inversions </td></tr>
|
||||
<tr><td class="paramname">arr</td><td>- array, data member of std::vector<int>, input for counting inversions </td></tr>
|
||||
<tr><td class="paramname">array_size</td><td>- number of elementa in the array </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>number of inversions in input array, sorts the array </dd></dl>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 164</span> {</div>
|
||||
<div class="line"><span class="lineno"> 165</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<T></a> temp;</div>
|
||||
<div class="line"><span class="lineno"> 166</span> temp.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/reserve.html">reserve</a>(size);</div>
|
||||
<div class="line"><span class="lineno"> 167</span> temp.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/assign.html">assign</a>(size, 0);</div>
|
||||
<div class="line"><span class="lineno"> 168</span> <span class="keywordflow">return</span> <a class="code hl_function" href="../../d5/d4c/group__sorting.html#gab6b14fea48d9841e29b9fc26be6e05d7">mergeSort</a>(arr, temp.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/data.html">data</a>(), 0, size - 1);</div>
|
||||
<div class="line"><span class="lineno"> 169</span>}</div>
|
||||
<div class="ttc" id="aassign_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/assign.html">std::vector::assign</a></div><div class="ttdeci">T assign(T... args)</div></div>
|
||||
<div class="ttc" id="adata_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/data.html">std::vector::data</a></div><div class="ttdeci">T data(T... args)</div></div>
|
||||
<div class="ttc" id="agroup__sorting_html_gab6b14fea48d9841e29b9fc26be6e05d7"><div class="ttname"><a href="../../d5/d4c/group__sorting.html#gab6b14fea48d9841e29b9fc26be6e05d7">mergeSort</a></div><div class="ttdeci">void mergeSort(int *arr, int l, int r)</div><div class="ttdef"><b>Definition</b> merge_sort.cpp:71</div></div>
|
||||
<div class="ttc" id="areserve_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/reserve.html">std::vector::reserve</a></div><div class="ttdeci">T reserve(T... args)</div></div>
|
||||
<div class="ttc" id="avector_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a></div></div>
|
||||
</div><!-- fragment --><div class="dynheader">
|
||||
Here is the call graph for this function:</div>
|
||||
<div class="dyncontent">
|
||||
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d2/d26/count__inversions_8cpp_a3332498eabf6579ef059c0d0e9f4ec80_cgraph.svg" width="314" height="224"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
|
||||
</div>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="../../d2/d26/count__inversions_8cpp_source.html#l00164">164</a> of file <a class="el" href="../../d2/d26/count__inversions_8cpp_source.html">count_inversions.cpp</a>.</p>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 164</span> {</div>
|
||||
<div class="line"><span class="lineno"> 165</span> std::vector<T> temp;</div>
|
||||
<div class="line"><span class="lineno"> 166</span> temp.reserve(size);</div>
|
||||
<div class="line"><span class="lineno"> 167</span> temp.assign(size, 0);</div>
|
||||
<div class="line"><span class="lineno"> 168</span> <span class="keywordflow">return</span> <a class="code hl_function" href="../../d5/d4c/group__sorting.html#gab6b14fea48d9841e29b9fc26be6e05d7">mergeSort</a>(arr, temp.data(), 0, size - 1);</div>
|
||||
<div class="line"><span class="lineno"> 169</span>}</div>
|
||||
<div class="ttc" id="agroup__sorting_html_gab6b14fea48d9841e29b9fc26be6e05d7"><div class="ttname"><a href="../../d5/d4c/group__sorting.html#gab6b14fea48d9841e29b9fc26be6e05d7">mergeSort</a></div><div class="ttdeci">void mergeSort(int *arr, int l, int r)</div><div class="ttdef"><b>Definition</b> <a href="../../d5/df4/merge__sort_8cpp_source.html#l00071">merge_sort.cpp:71</a></div></div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="ae66f6b31b5ad750f1fe042a706a4e3d4" name="ae66f6b31b5ad750f1fe042a706a4e3d4"></a>
|
||||
@@ -243,18 +257,15 @@ Here is the call graph for this function:</div>
|
||||
<p>Program Body contains all main funtionality. </p>
|
||||
<dl class="section return"><dt>Returns</dt><dd>void</dd></dl>
|
||||
<p>Main function </p><dl class="section return"><dt>Returns</dt><dd>0 on exit </dd></dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="../../d2/d26/count__inversions_8cpp_source.html#l00271">271</a> of file <a class="el" href="../../d2/d26/count__inversions_8cpp_source.html">count_inversions.cpp</a>.</p>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 271</span> {</div>
|
||||
<div class="line"><span class="lineno"> 272</span> <a class="code hl_function" href="#aa8dca7b867074164d5f45b0f3851269d">test</a>(); <span class="comment">// Run test implementations</span></div>
|
||||
<div class="line"><span class="lineno"> 273</span> <span class="comment">// body(); // test your own array</span></div>
|
||||
<div class="line"><span class="lineno"> 274</span> <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line"><span class="lineno"> 275</span>}</div>
|
||||
<div class="ttc" id="acount__inversions_8cpp_html_aa8dca7b867074164d5f45b0f3851269d"><div class="ttname"><a href="#aa8dca7b867074164d5f45b0f3851269d">test</a></div><div class="ttdeci">static void test()</div><div class="ttdoc">Test implementations.</div><div class="ttdef"><b>Definition</b> count_inversions.cpp:194</div></div>
|
||||
</div><!-- fragment --><div class="dynheader">
|
||||
Here is the call graph for this function:</div>
|
||||
<div class="dyncontent">
|
||||
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d2/d26/count__inversions_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg" width="316" height="86"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
|
||||
</div>
|
||||
|
||||
<div class="ttc" id="acount__inversions_8cpp_html_aa8dca7b867074164d5f45b0f3851269d"><div class="ttname"><a href="#aa8dca7b867074164d5f45b0f3851269d">test</a></div><div class="ttdeci">static void test()</div><div class="ttdoc">Test implementations.</div><div class="ttdef"><b>Definition</b> <a href="../../d2/d26/count__inversions_8cpp_source.html#l00194">count_inversions.cpp:194</a></div></div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="aad643c14734394e784a75169cb58132f" name="aad643c14734394e784a75169cb58132f"></a>
|
||||
@@ -307,6 +318,8 @@ template<typename T > </div>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>number of inversions found in merge step </dd></dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="../../d2/d26/count__inversions_8cpp_source.html#l00085">85</a> of file <a class="el" href="../../d2/d26/count__inversions_8cpp_source.html">count_inversions.cpp</a>.</p>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 85</span> {</div>
|
||||
<div class="line"><span class="lineno"> 86</span> uint32_t i = left; <span class="comment">/* i --> index of left sub-array */</span></div>
|
||||
<div class="line"><span class="lineno"> 87</span> uint32_t j = mid + 1; <span class="comment">/* j --> index for right sub-array */</span></div>
|
||||
@@ -331,13 +344,12 @@ template<typename T > </div>
|
||||
<div class="line"><span class="lineno"> 106</span> temp[<a class="code hl_function" href="../../d4/d18/composite__simpson__rule_8cpp.html#a1b74d828b33760094906797042b89442">k</a>++] = arr[j++];</div>
|
||||
<div class="line"><span class="lineno"> 107</span> }</div>
|
||||
<div class="line"><span class="lineno"> 108</span> <span class="comment">// Copy temp[] to arr[]</span></div>
|
||||
<div class="line"><span class="lineno"> 109</span> <span class="keywordflow">for</span> (k = left; <a class="code hl_function" href="../../d4/d18/composite__simpson__rule_8cpp.html#a1b74d828b33760094906797042b89442">k</a> <= <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/left.html">right</a>; <a class="code hl_function" href="../../d4/d18/composite__simpson__rule_8cpp.html#a1b74d828b33760094906797042b89442">k</a>++) {</div>
|
||||
<div class="line"><span class="lineno"> 109</span> <span class="keywordflow">for</span> (k = left; <a class="code hl_function" href="../../d4/d18/composite__simpson__rule_8cpp.html#a1b74d828b33760094906797042b89442">k</a> <= right; <a class="code hl_function" href="../../d4/d18/composite__simpson__rule_8cpp.html#a1b74d828b33760094906797042b89442">k</a>++) {</div>
|
||||
<div class="line"><span class="lineno"> 110</span> arr[<a class="code hl_function" href="../../d4/d18/composite__simpson__rule_8cpp.html#a1b74d828b33760094906797042b89442">k</a>] = temp[<a class="code hl_function" href="../../d4/d18/composite__simpson__rule_8cpp.html#a1b74d828b33760094906797042b89442">k</a>];</div>
|
||||
<div class="line"><span class="lineno"> 111</span> }</div>
|
||||
<div class="line"><span class="lineno"> 112</span> <span class="keywordflow">return</span> inv_count;</div>
|
||||
<div class="line"><span class="lineno"> 113</span>}</div>
|
||||
<div class="ttc" id="acomposite__simpson__rule_8cpp_html_a1b74d828b33760094906797042b89442"><div class="ttname"><a href="../../d4/d18/composite__simpson__rule_8cpp.html#a1b74d828b33760094906797042b89442">numerical_methods::simpson_method::k</a></div><div class="ttdeci">double k(double x)</div><div class="ttdoc">Another test function.</div><div class="ttdef"><b>Definition</b> composite_simpson_rule.cpp:117</div></div>
|
||||
<div class="ttc" id="aleft_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/manip/left.html">std::right</a></div><div class="ttdeci">T right(T... args)</div></div>
|
||||
<div class="ttc" id="acomposite__simpson__rule_8cpp_html_a1b74d828b33760094906797042b89442"><div class="ttname"><a href="../../d4/d18/composite__simpson__rule_8cpp.html#a1b74d828b33760094906797042b89442">numerical_methods::simpson_method::k</a></div><div class="ttdeci">double k(double x)</div><div class="ttdoc">Another test function.</div><div class="ttdef"><b>Definition</b> <a href="../../d4/d18/composite__simpson__rule_8cpp_source.html#l00117">composite_simpson_rule.cpp:117</a></div></div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
@@ -384,11 +396,13 @@ template<typename T > </div>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>number of inversions in array </dd></dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="../../d2/d26/count__inversions_8cpp_source.html#l00132">132</a> of file <a class="el" href="../../d2/d26/count__inversions_8cpp_source.html">count_inversions.cpp</a>.</p>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 132</span> {</div>
|
||||
<div class="line"><span class="lineno"> 133</span> uint32_t mid = 0, inv_count = 0;</div>
|
||||
<div class="line"><span class="lineno"> 134</span> <span class="keywordflow">if</span> (right > left) {</div>
|
||||
<div class="line"><span class="lineno"> 135</span> <span class="comment">// midpoint to split the array</span></div>
|
||||
<div class="line"><span class="lineno"> 136</span> mid = (<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/left.html">right</a> + left) / 2;</div>
|
||||
<div class="line"><span class="lineno"> 136</span> mid = (right + left) / 2;</div>
|
||||
<div class="line"><span class="lineno"> 137</span> <span class="comment">// Add inversions in left and right sub-arrays</span></div>
|
||||
<div class="line"><span class="lineno"> 138</span> inv_count += <a class="code hl_function" href="../../d5/d4c/group__sorting.html#gab6b14fea48d9841e29b9fc26be6e05d7">mergeSort</a>(arr, temp, left, mid); <span class="comment">// left sub-array</span></div>
|
||||
<div class="line"><span class="lineno"> 139</span> inv_count += <a class="code hl_function" href="../../d5/d4c/group__sorting.html#gab6b14fea48d9841e29b9fc26be6e05d7">mergeSort</a>(arr, temp, mid + 1, right);</div>
|
||||
@@ -398,13 +412,8 @@ template<typename T > </div>
|
||||
<div class="line"><span class="lineno"> 143</span> }</div>
|
||||
<div class="line"><span class="lineno"> 144</span> <span class="keywordflow">return</span> inv_count;</div>
|
||||
<div class="line"><span class="lineno"> 145</span>}</div>
|
||||
<div class="ttc" id="agroup__sorting_html_ga460c61cd948203b4816bef2accb3fc73"><div class="ttname"><a href="../../d5/d4c/group__sorting.html#ga460c61cd948203b4816bef2accb3fc73">merge</a></div><div class="ttdeci">void merge(int *arr, int l, int m, int r)</div><div class="ttdef"><b>Definition</b> merge_sort.cpp:33</div></div>
|
||||
</div><!-- fragment --><div class="dynheader">
|
||||
Here is the call graph for this function:</div>
|
||||
<div class="dyncontent">
|
||||
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d2/d26/count__inversions_8cpp_ae97a486e14101c4822ea8dc47f0d1661_cgraph.svg" width="131" height="76"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
|
||||
</div>
|
||||
|
||||
<div class="ttc" id="agroup__sorting_html_ga460c61cd948203b4816bef2accb3fc73"><div class="ttname"><a href="../../d5/d4c/group__sorting.html#ga460c61cd948203b4816bef2accb3fc73">merge</a></div><div class="ttdeci">void merge(int *arr, int l, int m, int r)</div><div class="ttdef"><b>Definition</b> <a href="../../d5/df4/merge__sort_8cpp_source.html#l00033">merge_sort.cpp:33</a></div></div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="a851ca6a0391d14fb49a97d55e4377497" name="a851ca6a0391d14fb49a97d55e4377497"></a>
|
||||
@@ -437,14 +446,15 @@ template<typename T > </div>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="../../d2/d26/count__inversions_8cpp_source.html#l00179">179</a> of file <a class="el" href="../../d2/d26/count__inversions_8cpp_source.html">count_inversions.cpp</a>.</p>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 179</span> {</div>
|
||||
<div class="line"><span class="lineno"> 180</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Printing array: \n"</span>;</div>
|
||||
<div class="line"><span class="lineno"> 180</span> std::cout << <span class="stringliteral">"Printing array: \n"</span>;</div>
|
||||
<div class="line"><span class="lineno"> 181</span> <span class="keywordflow">for</span> (uint32_t i = 0; i < array_size; i++) {</div>
|
||||
<div class="line"><span class="lineno"> 182</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">" "</span> << arr[i];</div>
|
||||
<div class="line"><span class="lineno"> 182</span> std::cout << <span class="stringliteral">" "</span> << arr[i];</div>
|
||||
<div class="line"><span class="lineno"> 183</span> }</div>
|
||||
<div class="line"><span class="lineno"> 184</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"\n"</span>;</div>
|
||||
<div class="line"><span class="lineno"> 184</span> std::cout << <span class="stringliteral">"\n"</span>;</div>
|
||||
<div class="line"><span class="lineno"> 185</span>}</div>
|
||||
<div class="ttc" id="abasic_ostream_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a></div></div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
@@ -473,47 +483,43 @@ template<typename T > </div>
|
||||
|
||||
<p>Test implementations. </p>
|
||||
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="../../d2/d26/count__inversions_8cpp_source.html#l00194">194</a> of file <a class="el" href="../../d2/d26/count__inversions_8cpp_source.html">count_inversions.cpp</a>.</p>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 194</span> {</div>
|
||||
<div class="line"><span class="lineno"> 195</span> <span class="comment">// Test 1</span></div>
|
||||
<div class="line"><span class="lineno"> 196</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<uint64_t></a> arr1 = {</div>
|
||||
<div class="line"><span class="lineno"> 196</span> std::vector<uint64_t> arr1 = {</div>
|
||||
<div class="line"><span class="lineno"> 197</span> 100, 99, 98, 97, 96, 95, 94, 93, 92, 91, 90, 89, 88, 87, 86, 85, 84,</div>
|
||||
<div class="line"><span class="lineno"> 198</span> 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, 71, 70, 69, 68, 67,</div>
|
||||
<div class="line"><span class="lineno"> 199</span> 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50,</div>
|
||||
<div class="line"><span class="lineno"> 200</span> 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33,</div>
|
||||
<div class="line"><span class="lineno"> 201</span> 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16,</div>
|
||||
<div class="line"><span class="lineno"> 202</span> 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1};</div>
|
||||
<div class="line"><span class="lineno"> 203</span> uint32_t size1 = arr1.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>();</div>
|
||||
<div class="line"><span class="lineno"> 203</span> uint32_t size1 = arr1.size();</div>
|
||||
<div class="line"><span class="lineno"> 204</span> uint32_t inv_count1 = 4950;</div>
|
||||
<div class="line"><span class="lineno"> 205</span> uint32_t result1 = <a class="code hl_function" href="#a3332498eabf6579ef059c0d0e9f4ec80">sorting::inversion::countInversion</a>(arr1.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/data.html">data</a>(), size1);</div>
|
||||
<div class="line"><span class="lineno"> 205</span> uint32_t result1 = <a class="code hl_function" href="#a3332498eabf6579ef059c0d0e9f4ec80">sorting::inversion::countInversion</a>(arr1.data(), size1);</div>
|
||||
<div class="line"><span class="lineno"> 206</span> assert(inv_count1 == result1);</div>
|
||||
<div class="line"><span class="lineno"> 207</span> <span class="comment">// Test 2</span></div>
|
||||
<div class="line"><span class="lineno"> 208</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<int></a> arr2 = {22, 66, 75, 23, 11, 87, 2, 44, 98, 43};</div>
|
||||
<div class="line"><span class="lineno"> 209</span> uint32_t size2 = arr2.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>();</div>
|
||||
<div class="line"><span class="lineno"> 208</span> std::vector<int> arr2 = {22, 66, 75, 23, 11, 87, 2, 44, 98, 43};</div>
|
||||
<div class="line"><span class="lineno"> 209</span> uint32_t size2 = arr2.size();</div>
|
||||
<div class="line"><span class="lineno"> 210</span> uint32_t inv_count2 = 20;</div>
|
||||
<div class="line"><span class="lineno"> 211</span> uint32_t result2 = <a class="code hl_function" href="#a3332498eabf6579ef059c0d0e9f4ec80">sorting::inversion::countInversion</a>(arr2.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/data.html">data</a>(), size2);</div>
|
||||
<div class="line"><span class="lineno"> 211</span> uint32_t result2 = <a class="code hl_function" href="#a3332498eabf6579ef059c0d0e9f4ec80">sorting::inversion::countInversion</a>(arr2.data(), size2);</div>
|
||||
<div class="line"><span class="lineno"> 212</span> assert(inv_count2 == result2);</div>
|
||||
<div class="line"><span class="lineno"> 213</span> <span class="comment">// Test 3</span></div>
|
||||
<div class="line"><span class="lineno"> 214</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<double></a> arr3 = {33.1, 45.2, 65.4, 76.5, 1.0,</div>
|
||||
<div class="line"><span class="lineno"> 214</span> std::vector<double> arr3 = {33.1, 45.2, 65.4, 76.5, 1.0,</div>
|
||||
<div class="line"><span class="lineno"> 215</span> 2.9, 5.4, 7.7, 88.9, 12.4};</div>
|
||||
<div class="line"><span class="lineno"> 216</span> uint32_t size3 = arr3.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>();</div>
|
||||
<div class="line"><span class="lineno"> 216</span> uint32_t size3 = arr3.size();</div>
|
||||
<div class="line"><span class="lineno"> 217</span> uint32_t inv_count3 = 21;</div>
|
||||
<div class="line"><span class="lineno"> 218</span> uint32_t result3 = <a class="code hl_function" href="#a3332498eabf6579ef059c0d0e9f4ec80">sorting::inversion::countInversion</a>(arr3.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/data.html">data</a>(), size3);</div>
|
||||
<div class="line"><span class="lineno"> 218</span> uint32_t result3 = <a class="code hl_function" href="#a3332498eabf6579ef059c0d0e9f4ec80">sorting::inversion::countInversion</a>(arr3.data(), size3);</div>
|
||||
<div class="line"><span class="lineno"> 219</span> assert(inv_count3 == result3);</div>
|
||||
<div class="line"><span class="lineno"> 220</span> <span class="comment">// Test 4</span></div>
|
||||
<div class="line"><span class="lineno"> 221</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<char></a> arr4 = {<span class="charliteral">'a'</span>, <span class="charliteral">'b'</span>, <span class="charliteral">'c'</span>, <span class="charliteral">'d'</span>, <span class="charliteral">'e'</span>};</div>
|
||||
<div class="line"><span class="lineno"> 222</span> uint32_t size4 = arr4.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>();</div>
|
||||
<div class="line"><span class="lineno"> 221</span> std::vector<char> arr4 = {<span class="charliteral">'a'</span>, <span class="charliteral">'b'</span>, <span class="charliteral">'c'</span>, <span class="charliteral">'d'</span>, <span class="charliteral">'e'</span>};</div>
|
||||
<div class="line"><span class="lineno"> 222</span> uint32_t size4 = arr4.size();</div>
|
||||
<div class="line"><span class="lineno"> 223</span> uint32_t inv_count4 = 0;</div>
|
||||
<div class="line"><span class="lineno"> 224</span> uint32_t result4 = <a class="code hl_function" href="#a3332498eabf6579ef059c0d0e9f4ec80">sorting::inversion::countInversion</a>(arr4.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/data.html">data</a>(), size4);</div>
|
||||
<div class="line"><span class="lineno"> 224</span> uint32_t result4 = <a class="code hl_function" href="#a3332498eabf6579ef059c0d0e9f4ec80">sorting::inversion::countInversion</a>(arr4.data(), size4);</div>
|
||||
<div class="line"><span class="lineno"> 225</span> assert(inv_count4 == result4);</div>
|
||||
<div class="line"><span class="lineno"> 226</span>}</div>
|
||||
<div class="ttc" id="acount__inversions_8cpp_html_a3332498eabf6579ef059c0d0e9f4ec80"><div class="ttname"><a href="#a3332498eabf6579ef059c0d0e9f4ec80">sorting::inversion::countInversion</a></div><div class="ttdeci">uint32_t countInversion(T *arr, const uint32_t size)</div><div class="ttdoc">Function countInversion() returns the number of inversion present in the input array....</div><div class="ttdef"><b>Definition</b> count_inversions.cpp:164</div></div>
|
||||
<div class="ttc" id="asize_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/size.html">std::vector::size</a></div><div class="ttdeci">T size(T... args)</div></div>
|
||||
</div><!-- fragment --><div class="dynheader">
|
||||
Here is the call graph for this function:</div>
|
||||
<div class="dyncontent">
|
||||
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d2/d26/count__inversions_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg" width="219" height="86"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
|
||||
</div>
|
||||
|
||||
<div class="ttc" id="acount__inversions_8cpp_html_a3332498eabf6579ef059c0d0e9f4ec80"><div class="ttname"><a href="#a3332498eabf6579ef059c0d0e9f4ec80">sorting::inversion::countInversion</a></div><div class="ttdeci">uint32_t countInversion(T *arr, const uint32_t size)</div><div class="ttdoc">Function countInversion() returns the number of inversion present in the input array....</div><div class="ttdef"><b>Definition</b> <a href="../../d2/d26/count__inversions_8cpp_source.html#l00164">count_inversions.cpp:164</a></div></div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- contents -->
|
||||
|
||||
Reference in New Issue
Block a user