{"id":10798,"date":"2024-03-14T12:49:14","date_gmt":"2024-03-14T12:49:14","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-to-use-the-sort-function-in-c-2\/"},"modified":"2025-08-04T04:04:39","modified_gmt":"2025-08-04T04:04:39","slug":"how-to-use-the-sort-function-in-c-2","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-to-use-the-sort-function-in-c-2\/","title":{"rendered":"C++ Sort Function: Complete Guide &#038; Examples"},"content":{"rendered":"<p>The sort function in C++ is used to sort elements in a container. To use the sort function, you need to include the header file and the elements in the container must support comparison operations.<\/p>\n<p>Below is the basic usage of the sort function:<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-meta\">#<span class=\"hljs-keyword\">include<\/span> <span class=\"hljs-string\">&lt;algorithm&gt;<\/span><\/span>\r\n<span class=\"hljs-meta\">#<span class=\"hljs-keyword\">include<\/span> <span class=\"hljs-string\">&lt;vector&gt;<\/span><\/span>\r\n\r\n<span class=\"hljs-function\"><span class=\"hljs-type\">int<\/span> <span class=\"hljs-title\">main<\/span><span class=\"hljs-params\">()<\/span> <\/span>{\r\n    std::vector&lt;<span class=\"hljs-type\">int<\/span>&gt; vec = {<span class=\"hljs-number\">3<\/span>, <span class=\"hljs-number\">1<\/span>, <span class=\"hljs-number\">4<\/span>, <span class=\"hljs-number\">1<\/span>, <span class=\"hljs-number\">5<\/span>, <span class=\"hljs-number\">9<\/span>, <span class=\"hljs-number\">2<\/span>, <span class=\"hljs-number\">6<\/span>};\r\n\r\n    <span class=\"hljs-comment\">\/\/ \u5bf9vec\u4e2d\u7684\u5143\u7d20\u8fdb\u884c\u5347\u5e8f\u6392\u5e8f<\/span>\r\n    std::<span class=\"hljs-built_in\">sort<\/span>(vec.<span class=\"hljs-built_in\">begin<\/span>(), vec.<span class=\"hljs-built_in\">end<\/span>());\r\n\r\n    <span class=\"hljs-comment\">\/\/ \u8f93\u51fa\u6392\u5e8f\u540e\u7684\u7ed3\u679c<\/span>\r\n    <span class=\"hljs-keyword\">for<\/span> (<span class=\"hljs-type\">int<\/span> num : vec) {\r\n        std::cout &lt;&lt; num &lt;&lt; <span class=\"hljs-string\">\" \"<\/span>;\r\n    }\r\n\r\n    <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-number\">0<\/span>;\r\n}\r\n<\/code><\/pre>\n<p>In the example above, we use the sort function to sort the elements in a vector container in ascending order. The sort function takes two parameters, the first being the starting position of the element range to be sorted, and the second being the ending position of the element range to be sorted.<\/p>\n<p>To sort elements of a custom type, a comparison function needs to be provided, which can be implemented using a lambda expression or by overloading comparison operators. For example, for a custom structure like Student, the sort function can be used like this:<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-meta\">#<span class=\"hljs-keyword\">include<\/span> <span class=\"hljs-string\">&lt;algorithm&gt;<\/span><\/span>\r\n<span class=\"hljs-meta\">#<span class=\"hljs-keyword\">include<\/span> <span class=\"hljs-string\">&lt;vector&gt;<\/span><\/span>\r\n\r\n<span class=\"hljs-keyword\">struct<\/span> <span class=\"hljs-title class_\">Student<\/span> {\r\n    std::string name;\r\n    <span class=\"hljs-type\">int<\/span> score;\r\n};\r\n\r\n<span class=\"hljs-function\"><span class=\"hljs-type\">int<\/span> <span class=\"hljs-title\">main<\/span><span class=\"hljs-params\">()<\/span> <\/span>{\r\n    std::vector&lt;Student&gt; students = {{<span class=\"hljs-string\">\"Alice\"<\/span>, <span class=\"hljs-number\">85<\/span>}, {<span class=\"hljs-string\">\"Bob\"<\/span>, <span class=\"hljs-number\">90<\/span>}, {<span class=\"hljs-string\">\"Charlie\"<\/span>, <span class=\"hljs-number\">78<\/span>}};\r\n\r\n    <span class=\"hljs-comment\">\/\/ \u5bf9students\u4e2d\u7684\u5143\u7d20\u6309\u7167score\u8fdb\u884c\u5347\u5e8f\u6392\u5e8f<\/span>\r\n    std::<span class=\"hljs-built_in\">sort<\/span>(students.<span class=\"hljs-built_in\">begin<\/span>(), students.<span class=\"hljs-built_in\">end<\/span>(), [](<span class=\"hljs-type\">const<\/span> Student&amp; a, <span class=\"hljs-type\">const<\/span> Student&amp; b) {\r\n        <span class=\"hljs-keyword\">return<\/span> a.score &lt; b.score;\r\n    });\r\n\r\n    <span class=\"hljs-comment\">\/\/ \u8f93\u51fa\u6392\u5e8f\u540e\u7684\u7ed3\u679c<\/span>\r\n    <span class=\"hljs-keyword\">for<\/span> (<span class=\"hljs-type\">const<\/span> Student&amp; student : students) {\r\n        std::cout &lt;&lt; student.name &lt;&lt; <span class=\"hljs-string\">\" \"<\/span> &lt;&lt; student.score &lt;&lt; std::endl;\r\n    }\r\n\r\n    <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-number\">0<\/span>;\r\n}\r\n<\/code><\/pre>\n<p>In the example above, we use a lambda expression to define a comparison function to sort the scores of students in ascending order within the Student structure.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The sort function in C++ is used to sort elements in a container. To use the sort function, you need to include the header file and the elements in the container must support comparison operations. Below is the basic usage of the sort function: #include &lt;algorithm&gt; #include &lt;vector&gt; int main() { std::vector&lt;int&gt; vec = {3, [&hellip;]<\/p>\n","protected":false},"author":14,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[4733,274,299,2844,3699],"class_list":["post-10798","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-algorithm","tag-c","tag-programming","tag-sort-function","tag-vector"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>C++ Sort Function: Complete Guide &amp; Examples - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Learn how to use the sort function in C++ with examples. Master sorting vectors and containers in C++ programming.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/how-to-use-the-sort-function-in-c-2\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"C++ Sort Function: Complete Guide &amp; Examples\" \/>\n<meta property=\"og:description\" content=\"Learn how to use the sort function in C++ with examples. Master sorting vectors and containers in C++ programming.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-to-use-the-sort-function-in-c-2\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-14T12:49:14+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-04T04:04:39+00:00\" \/>\n<meta name=\"author\" content=\"Noah Thompson\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Noah Thompson\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-the-sort-function-in-c-2\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-the-sort-function-in-c-2\/\"},\"author\":{\"name\":\"Noah Thompson\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/2e83cc6ab9f60d36921c2d0f9f280f4a\"},\"headline\":\"C++ Sort Function: Complete Guide &#038; Examples\",\"datePublished\":\"2024-03-14T12:49:14+00:00\",\"dateModified\":\"2025-08-04T04:04:39+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-the-sort-function-in-c-2\/\"},\"wordCount\":173,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"keywords\":[\"algorithm\",\"c#\",\"programming\",\"sort function\",\"vector\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-the-sort-function-in-c-2\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-the-sort-function-in-c-2\/\",\"name\":\"C++ Sort Function: Complete Guide & Examples - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-14T12:49:14+00:00\",\"dateModified\":\"2025-08-04T04:04:39+00:00\",\"description\":\"Learn how to use the sort function in C++ with examples. Master sorting vectors and containers in C++ programming.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-the-sort-function-in-c-2\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-to-use-the-sort-function-in-c-2\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-the-sort-function-in-c-2\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"C++ Sort Function: Complete Guide &#038; Examples\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/2e83cc6ab9f60d36921c2d0f9f280f4a\",\"name\":\"Noah Thompson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/350e537e1530ede2762ee0237e877d6693f4f7163ab4f303202cc9a6b27b6cb4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/350e537e1530ede2762ee0237e877d6693f4f7163ab4f303202cc9a6b27b6cb4?s=96&d=mm&r=g\",\"caption\":\"Noah Thompson\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/noahthompson\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"C++ Sort Function: Complete Guide & Examples - Blog - Silicon Cloud","description":"Learn how to use the sort function in C++ with examples. Master sorting vectors and containers in C++ programming.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/blog\/how-to-use-the-sort-function-in-c-2\/","og_locale":"en_US","og_type":"article","og_title":"C++ Sort Function: Complete Guide & Examples","og_description":"Learn how to use the sort function in C++ with examples. Master sorting vectors and containers in C++ programming.","og_url":"https:\/\/www.silicloud.com\/blog\/how-to-use-the-sort-function-in-c-2\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-14T12:49:14+00:00","article_modified_time":"2025-08-04T04:04:39+00:00","author":"Noah Thompson","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Noah Thompson","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-the-sort-function-in-c-2\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-the-sort-function-in-c-2\/"},"author":{"name":"Noah Thompson","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/2e83cc6ab9f60d36921c2d0f9f280f4a"},"headline":"C++ Sort Function: Complete Guide &#038; Examples","datePublished":"2024-03-14T12:49:14+00:00","dateModified":"2025-08-04T04:04:39+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-the-sort-function-in-c-2\/"},"wordCount":173,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"keywords":["algorithm","c#","programming","sort function","vector"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-the-sort-function-in-c-2\/","url":"https:\/\/www.silicloud.com\/blog\/how-to-use-the-sort-function-in-c-2\/","name":"C++ Sort Function: Complete Guide & Examples - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-14T12:49:14+00:00","dateModified":"2025-08-04T04:04:39+00:00","description":"Learn how to use the sort function in C++ with examples. Master sorting vectors and containers in C++ programming.","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-the-sort-function-in-c-2\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-to-use-the-sort-function-in-c-2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-the-sort-function-in-c-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"C++ Sort Function: Complete Guide &#038; Examples"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/2e83cc6ab9f60d36921c2d0f9f280f4a","name":"Noah Thompson","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/350e537e1530ede2762ee0237e877d6693f4f7163ab4f303202cc9a6b27b6cb4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/350e537e1530ede2762ee0237e877d6693f4f7163ab4f303202cc9a6b27b6cb4?s=96&d=mm&r=g","caption":"Noah Thompson"},"url":"https:\/\/www.silicloud.com\/blog\/author\/noahthompson\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/10798","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/14"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=10798"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/10798\/revisions"}],"predecessor-version":[{"id":154568,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/10798\/revisions\/154568"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=10798"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=10798"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=10798"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}