{"id":6188,"date":"2024-03-14T03:57:39","date_gmt":"2024-03-14T03:57:39","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/what-is-the-method-for-quick-sorting-in-c\/"},"modified":"2025-08-02T00:29:00","modified_gmt":"2025-08-02T00:29:00","slug":"what-is-the-method-for-quick-sorting-in-c","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/what-is-the-method-for-quick-sorting-in-c\/","title":{"rendered":"Quick Sort in C++: Algorithm Explained"},"content":{"rendered":"<p>Quick sort is a commonly used sorting algorithm that divides an array into two subarrays recursively and sorts each subarray separately. The specific steps are as follows:<\/p>\n<ol>\n<li>Choose a reference value, which can be any element in the array.<\/li>\n<li>Divide the array into two parts so that elements on the left are all less than the pivot value, and elements on the right are all greater than the pivot value.<\/li>\n<li>Sort the subarrays on the left and right recursively.<\/li>\n<li>Merge the left and right subarrays to obtain the final sorted array.<\/li>\n<\/ol>\n<p>Below is an example of code implementing quicksort in C++.<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-function\"><span class=\"hljs-type\">void<\/span> <span class=\"hljs-title\">quickSort<\/span><span class=\"hljs-params\">(vector&lt;<span class=\"hljs-type\">int<\/span>&gt;&amp; arr, <span class=\"hljs-type\">int<\/span> low, <span class=\"hljs-type\">int<\/span> high)<\/span> <\/span>{\r\n    <span class=\"hljs-keyword\">if<\/span> (low &lt; high) {\r\n        <span class=\"hljs-type\">int<\/span> i = low, j = high, pivot = arr[low];\r\n        <span class=\"hljs-keyword\">while<\/span> (i &lt; j) {\r\n            <span class=\"hljs-keyword\">while<\/span> (i &lt; j &amp;&amp; arr[j] &gt;= pivot) {\r\n                j--;\r\n            }\r\n            <span class=\"hljs-keyword\">if<\/span> (i &lt; j) {\r\n                arr[i++] = arr[j];\r\n            }\r\n            <span class=\"hljs-keyword\">while<\/span> (i &lt; j &amp;&amp; arr[i] &lt; pivot) {\r\n                i++;\r\n            }\r\n            <span class=\"hljs-keyword\">if<\/span> (i &lt; j) {\r\n                arr[j--] = arr[i];\r\n            }\r\n        }\r\n        arr[i] = pivot;\r\n        <span class=\"hljs-built_in\">quickSort<\/span>(arr, low, i - <span class=\"hljs-number\">1<\/span>);\r\n        <span class=\"hljs-built_in\">quickSort<\/span>(arr, i + <span class=\"hljs-number\">1<\/span>, high);\r\n    }\r\n}\r\n\r\n<span class=\"hljs-comment\">\/\/ \u4f7f\u7528\u65b9\u6cd5<\/span>\r\nvector&lt;<span class=\"hljs-type\">int<\/span>&gt; arr = {<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>, <span class=\"hljs-number\">5<\/span>, <span class=\"hljs-number\">3<\/span>, <span class=\"hljs-number\">5<\/span>};\r\n<span class=\"hljs-built_in\">quickSort<\/span>(arr, <span class=\"hljs-number\">0<\/span>, arr.<span class=\"hljs-built_in\">size<\/span>() - <span class=\"hljs-number\">1<\/span>);\r\n<\/code><\/pre>\n<p>In the code above, we initially select the first element of the array as the pivot value, then divide the array into two parts based on the pivot value. Then recursively sort the left and right subarrays, ultimately obtaining a sorted array.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Quick sort is a commonly used sorting algorithm that divides an array into two subarrays recursively and sorts each subarray separately. The specific steps are as follows: Choose a reference value, which can be any element in the array. Divide the array into two parts so that elements on the left are all less than [&hellip;]<\/p>\n","protected":false},"author":10,"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":[7331,381,7330,7329,6258],"class_list":["post-6188","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-algorithm-tutorial","tag-c-programming","tag-c-sorting","tag-quick-sort","tag-sorting-algorithms"],"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>Quick Sort in C++: Algorithm Explained - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Learn quick sort in C++: step-by-step implementation guide with pivot selection, partitioning, and recursive sorting techniques.\" \/>\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\/what-is-the-method-for-quick-sorting-in-c\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Quick Sort in C++: Algorithm Explained\" \/>\n<meta property=\"og:description\" content=\"Learn quick sort in C++: step-by-step implementation guide with pivot selection, partitioning, and recursive sorting techniques.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/what-is-the-method-for-quick-sorting-in-c\/\" \/>\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-14T03:57:39+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-02T00:29:00+00:00\" \/>\n<meta name=\"author\" content=\"Jackson Davis\" \/>\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=\"Jackson Davis\" \/>\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\/what-is-the-method-for-quick-sorting-in-c\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-method-for-quick-sorting-in-c\/\"},\"author\":{\"name\":\"Jackson Davis\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/55a10b8b0457c35884c25677889ad350\"},\"headline\":\"Quick Sort in C++: Algorithm Explained\",\"datePublished\":\"2024-03-14T03:57:39+00:00\",\"dateModified\":\"2025-08-02T00:29:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-method-for-quick-sorting-in-c\/\"},\"wordCount\":149,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"keywords\":[\"algorithm tutorial\",\"C++ Programming\",\"C++ sorting\",\"quick sort\",\"Sorting Algorithms\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-method-for-quick-sorting-in-c\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-method-for-quick-sorting-in-c\/\",\"name\":\"Quick Sort in C++: Algorithm Explained - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-14T03:57:39+00:00\",\"dateModified\":\"2025-08-02T00:29:00+00:00\",\"description\":\"Learn quick sort in C++: step-by-step implementation guide with pivot selection, partitioning, and recursive sorting techniques.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-method-for-quick-sorting-in-c\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/what-is-the-method-for-quick-sorting-in-c\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-method-for-quick-sorting-in-c\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Quick Sort in C++: Algorithm Explained\"}]},{\"@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\/55a10b8b0457c35884c25677889ad350\",\"name\":\"Jackson Davis\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/2fdb47d6df1226e92380d96973782572a97b0675d098bb914410dec348eb5d29?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/2fdb47d6df1226e92380d96973782572a97b0675d098bb914410dec348eb5d29?s=96&d=mm&r=g\",\"caption\":\"Jackson Davis\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/jacksondavis\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Quick Sort in C++: Algorithm Explained - Blog - Silicon Cloud","description":"Learn quick sort in C++: step-by-step implementation guide with pivot selection, partitioning, and recursive sorting techniques.","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\/what-is-the-method-for-quick-sorting-in-c\/","og_locale":"en_US","og_type":"article","og_title":"Quick Sort in C++: Algorithm Explained","og_description":"Learn quick sort in C++: step-by-step implementation guide with pivot selection, partitioning, and recursive sorting techniques.","og_url":"https:\/\/www.silicloud.com\/blog\/what-is-the-method-for-quick-sorting-in-c\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-14T03:57:39+00:00","article_modified_time":"2025-08-02T00:29:00+00:00","author":"Jackson Davis","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Jackson Davis","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/what-is-the-method-for-quick-sorting-in-c\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/what-is-the-method-for-quick-sorting-in-c\/"},"author":{"name":"Jackson Davis","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/55a10b8b0457c35884c25677889ad350"},"headline":"Quick Sort in C++: Algorithm Explained","datePublished":"2024-03-14T03:57:39+00:00","dateModified":"2025-08-02T00:29:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/what-is-the-method-for-quick-sorting-in-c\/"},"wordCount":149,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"keywords":["algorithm tutorial","C++ Programming","C++ sorting","quick sort","Sorting Algorithms"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/what-is-the-method-for-quick-sorting-in-c\/","url":"https:\/\/www.silicloud.com\/blog\/what-is-the-method-for-quick-sorting-in-c\/","name":"Quick Sort in C++: Algorithm Explained - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-14T03:57:39+00:00","dateModified":"2025-08-02T00:29:00+00:00","description":"Learn quick sort in C++: step-by-step implementation guide with pivot selection, partitioning, and recursive sorting techniques.","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/what-is-the-method-for-quick-sorting-in-c\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/what-is-the-method-for-quick-sorting-in-c\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/what-is-the-method-for-quick-sorting-in-c\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Quick Sort in C++: Algorithm Explained"}]},{"@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\/55a10b8b0457c35884c25677889ad350","name":"Jackson Davis","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/2fdb47d6df1226e92380d96973782572a97b0675d098bb914410dec348eb5d29?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2fdb47d6df1226e92380d96973782572a97b0675d098bb914410dec348eb5d29?s=96&d=mm&r=g","caption":"Jackson Davis"},"url":"https:\/\/www.silicloud.com\/blog\/author\/jacksondavis\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/6188","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\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=6188"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/6188\/revisions"}],"predecessor-version":[{"id":150948,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/6188\/revisions\/150948"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=6188"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=6188"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=6188"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}