{"id":12306,"date":"2024-03-14T15:33:39","date_gmt":"2024-03-14T15:33:39","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-to-use-the-quicksort-algorithm-in-c\/"},"modified":"2025-08-04T23:57:55","modified_gmt":"2025-08-04T23:57:55","slug":"how-to-use-the-quicksort-algorithm-in-c","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-to-use-the-quicksort-algorithm-in-c\/","title":{"rendered":"QuickSort Algorithm in C++ Guide"},"content":{"rendered":"<p>QuickSort is a commonly used sorting algorithm, which involves dividing the data into two independent parts during each round of sorting, with one part containing all data smaller than the other. The process is then repeated recursively on each of these two parts until the entire sequence is sorted.<\/p>\n<p>Here is an example code of implementing the Quick Sort algorithm using C++.<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-meta\">#<span class=\"hljs-keyword\">include<\/span><span class=\"hljs-string\">&lt;iostream&gt;<\/span><\/span>\r\n<span class=\"hljs-keyword\">using<\/span> <span class=\"hljs-keyword\">namespace<\/span> std;\r\n\r\n<span class=\"hljs-comment\">\/\/ \u4ea4\u6362\u6570\u7ec4\u4e2d\u4e24\u4e2a\u5143\u7d20\u7684\u4f4d\u7f6e<\/span>\r\n<span class=\"hljs-function\"><span class=\"hljs-type\">void<\/span> <span class=\"hljs-title\">swap<\/span><span class=\"hljs-params\">(<span class=\"hljs-type\">int<\/span> *a, <span class=\"hljs-type\">int<\/span> *b)<\/span> <\/span>{\r\n    <span class=\"hljs-type\">int<\/span> temp = *a;\r\n    *a = *b;\r\n    *b = temp;\r\n}\r\n\r\n<span class=\"hljs-comment\">\/\/ \u5206\u5272\u51fd\u6570\uff0c\u4ee5pivot\u4e3a\u57fa\u51c6\u5c06\u6570\u7ec4\u5206\u5272\u6210\u4e24\u90e8\u5206<\/span>\r\n<span class=\"hljs-function\"><span class=\"hljs-type\">int<\/span> <span class=\"hljs-title\">partition<\/span><span class=\"hljs-params\">(<span class=\"hljs-type\">int<\/span> arr[], <span class=\"hljs-type\">int<\/span> low, <span class=\"hljs-type\">int<\/span> high)<\/span> <\/span>{\r\n    <span class=\"hljs-type\">int<\/span> pivot = arr[high];  <span class=\"hljs-comment\">\/\/ \u9009\u62e9\u6700\u540e\u4e00\u4e2a\u5143\u7d20\u4f5c\u4e3a\u57fa\u51c6<\/span>\r\n    <span class=\"hljs-type\">int<\/span> i = low - <span class=\"hljs-number\">1<\/span>;  <span class=\"hljs-comment\">\/\/ i\u6307\u5411\u5c0f\u4e8e\u57fa\u51c6\u7684\u5143\u7d20<\/span>\r\n\r\n    <span class=\"hljs-keyword\">for<\/span> (<span class=\"hljs-type\">int<\/span> j = low; j &lt;= high - <span class=\"hljs-number\">1<\/span>; j++) {\r\n        <span class=\"hljs-keyword\">if<\/span> (arr[j] &lt; pivot) {\r\n            i++;\r\n            <span class=\"hljs-built_in\">swap<\/span>(&amp;arr[i], &amp;arr[j]);\r\n        }\r\n    }\r\n    <span class=\"hljs-built_in\">swap<\/span>(&amp;arr[i + <span class=\"hljs-number\">1<\/span>], &amp;arr[high]);\r\n    <span class=\"hljs-keyword\">return<\/span> i + <span class=\"hljs-number\">1<\/span>;\r\n}\r\n\r\n<span class=\"hljs-comment\">\/\/ \u5feb\u901f\u6392\u5e8f\u51fd\u6570<\/span>\r\n<span class=\"hljs-function\"><span class=\"hljs-type\">void<\/span> <span class=\"hljs-title\">quickSort<\/span><span class=\"hljs-params\">(<span class=\"hljs-type\">int<\/span> 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> pivot_index = <span class=\"hljs-built_in\">partition<\/span>(arr, low, high);\r\n        <span class=\"hljs-built_in\">quickSort<\/span>(arr, low, pivot_index - <span class=\"hljs-number\">1<\/span>);\r\n        <span class=\"hljs-built_in\">quickSort<\/span>(arr, pivot_index + <span class=\"hljs-number\">1<\/span>, high);\r\n    }\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    <span class=\"hljs-type\">int<\/span> arr[] = {<span class=\"hljs-number\">9<\/span>, <span class=\"hljs-number\">5<\/span>, <span class=\"hljs-number\">7<\/span>, <span class=\"hljs-number\">2<\/span>, <span class=\"hljs-number\">4<\/span>, <span class=\"hljs-number\">10<\/span>, <span class=\"hljs-number\">8<\/span>, <span class=\"hljs-number\">1<\/span>, <span class=\"hljs-number\">6<\/span>, <span class=\"hljs-number\">3<\/span>};\r\n    <span class=\"hljs-type\">int<\/span> n = <span class=\"hljs-built_in\">sizeof<\/span>(arr) \/ <span class=\"hljs-built_in\">sizeof<\/span>(arr[<span class=\"hljs-number\">0<\/span>]);\r\n\r\n    <span class=\"hljs-built_in\">quickSort<\/span>(arr, <span class=\"hljs-number\">0<\/span>, n - <span class=\"hljs-number\">1<\/span>);\r\n\r\n    cout &lt;&lt; <span class=\"hljs-string\">\"\u6392\u5e8f\u540e\u7684\u6570\u7ec4\uff1a\"<\/span>;\r\n    <span class=\"hljs-keyword\">for<\/span> (<span class=\"hljs-type\">int<\/span> i = <span class=\"hljs-number\">0<\/span>; i &lt; n; i++) {\r\n        cout &lt;&lt; arr[i] &lt;&lt; <span class=\"hljs-string\">\" \"<\/span>;\r\n    }\r\n    cout &lt;&lt; endl;\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 code above, the swap function is used to exchange the positions of two elements in an array, the partition function is used to divide the array into two parts, and the quickSort function is used to recursively perform quicksort on the two parts.<\/p>\n<p>In the main function, we define an array named arr to be sorted, then call the quickSort function to sort it. Finally, we output the sorted array.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>QuickSort is a commonly used sorting algorithm, which involves dividing the data into two independent parts during each round of sorting, with one part containing all data smaller than the other. The process is then repeated recursively on each of these two parts until the entire sequence is sorted. Here is an example code of [&hellip;]<\/p>\n","protected":false},"author":8,"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,274,299,3188,3189],"class_list":["post-12306","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-algorithm-tutorial","tag-c","tag-programming","tag-quicksort","tag-sorting-algorithm"],"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>QuickSort Algorithm in C++ Guide - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Learn QuickSort implementation in C++ with step-by-step code examples. Master efficient array sorting today.\" \/>\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-quicksort-algorithm-in-c\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"QuickSort Algorithm in C++ Guide\" \/>\n<meta property=\"og:description\" content=\"Learn QuickSort implementation in C++ with step-by-step code examples. Master efficient array sorting today.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-to-use-the-quicksort-algorithm-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-14T15:33:39+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-04T23:57:55+00:00\" \/>\n<meta name=\"author\" content=\"William Carter\" \/>\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=\"William Carter\" \/>\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-quicksort-algorithm-in-c\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-the-quicksort-algorithm-in-c\/\"},\"author\":{\"name\":\"William Carter\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/f697031891aacefc4b681d139781d3c0\"},\"headline\":\"QuickSort Algorithm in C++ Guide\",\"datePublished\":\"2024-03-14T15:33:39+00:00\",\"dateModified\":\"2025-08-04T23:57:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-the-quicksort-algorithm-in-c\/\"},\"wordCount\":139,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"keywords\":[\"algorithm tutorial\",\"c#\",\"programming\",\"quicksort\",\"sorting algorithm\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-the-quicksort-algorithm-in-c\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-the-quicksort-algorithm-in-c\/\",\"name\":\"QuickSort Algorithm in C++ Guide - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-14T15:33:39+00:00\",\"dateModified\":\"2025-08-04T23:57:55+00:00\",\"description\":\"Learn QuickSort implementation in C++ with step-by-step code examples. Master efficient array sorting today.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-the-quicksort-algorithm-in-c\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-to-use-the-quicksort-algorithm-in-c\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-the-quicksort-algorithm-in-c\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"QuickSort Algorithm in C++ Guide\"}]},{\"@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\/f697031891aacefc4b681d139781d3c0\",\"name\":\"William Carter\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/1786698071dd8d74bec894b512f9e3c610c3a2a32985f67e688976cee3c8bbef?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/1786698071dd8d74bec894b512f9e3c610c3a2a32985f67e688976cee3c8bbef?s=96&d=mm&r=g\",\"caption\":\"William Carter\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/williamcarter\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"QuickSort Algorithm in C++ Guide - Blog - Silicon Cloud","description":"Learn QuickSort implementation in C++ with step-by-step code examples. Master efficient array sorting today.","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-quicksort-algorithm-in-c\/","og_locale":"en_US","og_type":"article","og_title":"QuickSort Algorithm in C++ Guide","og_description":"Learn QuickSort implementation in C++ with step-by-step code examples. Master efficient array sorting today.","og_url":"https:\/\/www.silicloud.com\/blog\/how-to-use-the-quicksort-algorithm-in-c\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-14T15:33:39+00:00","article_modified_time":"2025-08-04T23:57:55+00:00","author":"William Carter","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"William Carter","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-the-quicksort-algorithm-in-c\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-the-quicksort-algorithm-in-c\/"},"author":{"name":"William Carter","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/f697031891aacefc4b681d139781d3c0"},"headline":"QuickSort Algorithm in C++ Guide","datePublished":"2024-03-14T15:33:39+00:00","dateModified":"2025-08-04T23:57:55+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-the-quicksort-algorithm-in-c\/"},"wordCount":139,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"keywords":["algorithm tutorial","c#","programming","quicksort","sorting algorithm"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-the-quicksort-algorithm-in-c\/","url":"https:\/\/www.silicloud.com\/blog\/how-to-use-the-quicksort-algorithm-in-c\/","name":"QuickSort Algorithm in C++ Guide - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-14T15:33:39+00:00","dateModified":"2025-08-04T23:57:55+00:00","description":"Learn QuickSort implementation in C++ with step-by-step code examples. Master efficient array sorting today.","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-the-quicksort-algorithm-in-c\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-to-use-the-quicksort-algorithm-in-c\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-the-quicksort-algorithm-in-c\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"QuickSort Algorithm in C++ Guide"}]},{"@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\/f697031891aacefc4b681d139781d3c0","name":"William Carter","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/1786698071dd8d74bec894b512f9e3c610c3a2a32985f67e688976cee3c8bbef?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1786698071dd8d74bec894b512f9e3c610c3a2a32985f67e688976cee3c8bbef?s=96&d=mm&r=g","caption":"William Carter"},"url":"https:\/\/www.silicloud.com\/blog\/author\/williamcarter\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/12306","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\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=12306"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/12306\/revisions"}],"predecessor-version":[{"id":156099,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/12306\/revisions\/156099"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=12306"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=12306"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=12306"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}