<blockquote><p>The use of std::sort function includes: defining the container or array that needs to be sorted. Call std::sort, specifying the iterator range. Optional: Provide a custom comparator for custom sorting. Note: std::sort sorts the original container directly and only applies to comparable elements. The time complexity is O(n log n), where n is the number of elements. </p></blockquote>
<p><img src="https://img.php.cn/upload/article/202405/01/2024050110481716173.jpg" alt="Specific usage of sort function sort in c++" ></p>
<p><strong>Usage of std::sort function in C</strong></p>
<p><strong>Definition and syntax:</strong> </p>
<p><code>void sort(iterator start, iterator end)</code></p>
<p>Where, <code>start</code> and <code>end</code> are the iterators of the container or array operators, which specify the range of elements to be sorted. </p>
<p><strong>Function: </strong></p>
<p><code>std::sort</code>Function sorts the given range of elements. It uses an implementation of quicksort or mergesort, depending on the size of the container. By default it sorts ascending, but a custom comparator can be provided to do descending or other types of sorting. </p>
<p><strong>Usage: </strong></p>
<p><code>std::sort</code> The function is mainly used through the following steps: </p>
<ol>
<li>
<p><strong>Declare a container or array: </strong></p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"><code class="cpp">vector<int> nums {5, 3, 1, 2, 4};</code></pre><div class="contentsignin">Copy after login</div></div>
</li>
<li>
<p><strong>Call std::sort: </strong></p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"><code class="cpp">std::sort(nums.begin(), nums.end());</code></pre><div class="contentsignin">Copy after login</div></div>
</li>
<li>
<p><strong>Iterate over sorted elements: </strong></p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"><code class="cpp">for (auto num : nums) {
cout << num << " ";
}</code></pre><div class="contentsignin">Copy after login</div></div></li></ol><p><strong>Custom comparator: </strong></p><p>By default, <code>std:: sort</code>Use the <code><</code> operator to sort in ascending order. Other types of sorting can be implemented by providing a custom comparator: </p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"><code class="cpp">struct greaterThan {
bool operator()(int a, int b) {
return a > b;
}
};</code></pre><div class="contentsignin">Copy after login</div></div>
<p> and then using the comparator when calling <code>std::sort</code>: </p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"><code class="cpp">std::sort(nums.begin(), nums.end(), greaterThan());</code></pre><div class="contentsignin">Copy after login</div></div>
<p><strong> Note: </strong></p>
<ul>
<li>
<code>std::sort</code> can only sort comparable elements (i.e. supports <code><</code> or custom comparator ). </li>
<li>This function directly modifies the provided container or array, it does not return a new sorted container. </li>
<li>For large data sets, the time complexity of <code>std::sort</code> is O(n log n), where n is the number of elements in the sequence. </li>
</ul>
</li>
</ol>
The above is the detailed content of Specific usage of sort function sort in c++. For more information, please follow other related articles on the PHP Chinese website!