{"id":18278,"date":"2024-03-15T16:37:24","date_gmt":"2024-03-15T16:37:24","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-to-implement-the-quick-sort-algorithm-using-the-c-language\/"},"modified":"2024-03-21T12:55:38","modified_gmt":"2024-03-21T12:55:38","slug":"how-to-implement-the-quick-sort-algorithm-using-the-c-language","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-to-implement-the-quick-sort-algorithm-using-the-c-language\/","title":{"rendered":"How to implement the quick sort algorithm using the C language?"},"content":{"rendered":"<p>Here is an example code implementing the quicksort algorithm in the C language.<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-meta\">#<span class=\"hljs-keyword\">include<\/span> <span class=\"hljs-string\">&lt;stdio.h&gt;<\/span><\/span>\r\n\r\n<span class=\"hljs-type\">void<\/span> <span class=\"hljs-title function_\">swap<\/span><span class=\"hljs-params\">(<span class=\"hljs-type\">int<\/span>* a, <span class=\"hljs-type\">int<\/span>* b)<\/span> {\r\n    <span class=\"hljs-type\">int<\/span> t = *a;\r\n    *a = *b;\r\n    *b = t;\r\n}\r\n\r\n<span class=\"hljs-type\">int<\/span> <span class=\"hljs-title function_\">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> {\r\n    <span class=\"hljs-type\">int<\/span> pivot = arr[high]; <span class=\"hljs-comment\">\/\/ \u5c06\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\">\/\/ \u6700\u5c0f\u5143\u7d20\u7684\u7d22\u5f15<\/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-comment\">\/\/ \u5982\u679c\u5f53\u524d\u5143\u7d20\u5c0f\u4e8e\u6216\u7b49\u4e8e\u57fa\u51c6<\/span>\r\n        <span class=\"hljs-keyword\">if<\/span> (arr[j] &lt;= pivot) {\r\n            i++; <span class=\"hljs-comment\">\/\/ \u79fb\u52a8\u6700\u5c0f\u5143\u7d20\u7684\u7d22\u5f15<\/span>\r\n            swap(&amp;arr[i], &amp;arr[j]);\r\n        }\r\n    }\r\n    swap(&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-type\">void<\/span> <span class=\"hljs-title function_\">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> {\r\n    <span class=\"hljs-keyword\">if<\/span> (low &lt; high) {\r\n        <span class=\"hljs-type\">int<\/span> pi = partition(arr, low, high);\r\n\r\n        quickSort(arr, low, pi - <span class=\"hljs-number\">1<\/span>);\r\n        quickSort(arr, pi + <span class=\"hljs-number\">1<\/span>, high);\r\n    }\r\n}\r\n\r\n<span class=\"hljs-type\">void<\/span> <span class=\"hljs-title function_\">printArray<\/span><span class=\"hljs-params\">(<span class=\"hljs-type\">int<\/span> arr[], <span class=\"hljs-type\">int<\/span> size)<\/span> {\r\n    <span class=\"hljs-keyword\">for<\/span> (<span class=\"hljs-type\">int<\/span> i = <span class=\"hljs-number\">0<\/span>; i &lt; size; i++) {\r\n        <span class=\"hljs-built_in\">printf<\/span>(<span class=\"hljs-string\">\"%d \"<\/span>, arr[i]);\r\n    }\r\n    <span class=\"hljs-built_in\">printf<\/span>(<span class=\"hljs-string\">\"\\n\"<\/span>);\r\n}\r\n\r\n<span class=\"hljs-type\">int<\/span> <span class=\"hljs-title function_\">main<\/span><span class=\"hljs-params\">()<\/span> {\r\n    <span class=\"hljs-type\">int<\/span> arr[] = { <span class=\"hljs-number\">64<\/span>, <span class=\"hljs-number\">34<\/span>, <span class=\"hljs-number\">25<\/span>, <span class=\"hljs-number\">12<\/span>, <span class=\"hljs-number\">22<\/span>, <span class=\"hljs-number\">11<\/span>, <span class=\"hljs-number\">90<\/span> };\r\n    <span class=\"hljs-type\">int<\/span> n = <span class=\"hljs-keyword\">sizeof<\/span>(arr) \/ <span class=\"hljs-keyword\">sizeof<\/span>(arr[<span class=\"hljs-number\">0<\/span>]);\r\n\r\n    <span class=\"hljs-built_in\">printf<\/span>(<span class=\"hljs-string\">\"\u6392\u5e8f\u524d\u7684\u6570\u7ec4\uff1a\\n\"<\/span>);\r\n    printArray(arr, n);\r\n\r\n    quickSort(arr, <span class=\"hljs-number\">0<\/span>, n - <span class=\"hljs-number\">1<\/span>);\r\n\r\n    <span class=\"hljs-built_in\">printf<\/span>(<span class=\"hljs-string\">\"\u6392\u5e8f\u540e\u7684\u6570\u7ec4\uff1a\\n\"<\/span>);\r\n    printArray(arr, 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>The quickSort function in this code is used to implement the quicksort algorithm. The partition function is used to select a pivot element and place elements smaller than the pivot to the left, and elements larger than the pivot to the right. The swap function is used to exchange the values of two elements. The printArray function is used to print the elements of an array. In the main function, we define an example array, call the quickSort function to sort it, and then use the printArray function to print the sorted array.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Here is an example code implementing the quicksort algorithm in the C language. #include &lt;stdio.h&gt; void swap(int* a, int* b) { int t = *a; *a = *b; *b = t; } int partition(int arr[], int low, int high) { int pivot = arr[high]; \/\/ \u5c06\u6700\u540e\u4e00\u4e2a\u5143\u7d20\u4f5c\u4e3a\u57fa\u51c6 int i = (low &#8211; 1); \/\/ \u6700\u5c0f\u5143\u7d20\u7684\u7d22\u5f15 for [&hellip;]<\/p>\n","protected":false},"author":14,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-18278","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"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>How to implement the quick sort algorithm using the C language? - Blog - Silicon Cloud<\/title>\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-implement-the-quick-sort-algorithm-using-the-c-language\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to implement the quick sort algorithm using the C language?\" \/>\n<meta property=\"og:description\" content=\"Here is an example code implementing the quicksort algorithm in the C language. #include &lt;stdio.h&gt; void swap(int* a, int* b) { int t = *a; *a = *b; *b = t; } int partition(int arr[], int low, int high) { int pivot = arr[high]; \/\/ \u5c06\u6700\u540e\u4e00\u4e2a\u5143\u7d20\u4f5c\u4e3a\u57fa\u51c6 int i = (low - 1); \/\/ \u6700\u5c0f\u5143\u7d20\u7684\u7d22\u5f15 for [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-to-implement-the-quick-sort-algorithm-using-the-c-language\/\" \/>\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-15T16:37:24+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-21T12:55:38+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-implement-the-quick-sort-algorithm-using-the-c-language\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-implement-the-quick-sort-algorithm-using-the-c-language\/\"},\"author\":{\"name\":\"Noah Thompson\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/2e83cc6ab9f60d36921c2d0f9f280f4a\"},\"headline\":\"How to implement the quick sort algorithm using the C language?\",\"datePublished\":\"2024-03-15T16:37:24+00:00\",\"dateModified\":\"2024-03-21T12:55:38+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-implement-the-quick-sort-algorithm-using-the-c-language\/\"},\"wordCount\":117,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-implement-the-quick-sort-algorithm-using-the-c-language\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-to-implement-the-quick-sort-algorithm-using-the-c-language\/\",\"name\":\"How to implement the quick sort algorithm using the C language? - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-15T16:37:24+00:00\",\"dateModified\":\"2024-03-21T12:55:38+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-implement-the-quick-sort-algorithm-using-the-c-language\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-to-implement-the-quick-sort-algorithm-using-the-c-language\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-implement-the-quick-sort-algorithm-using-the-c-language\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to implement the quick sort algorithm using the C language?\"}]},{\"@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":"How to implement the quick sort algorithm using the C language? - Blog - Silicon Cloud","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-implement-the-quick-sort-algorithm-using-the-c-language\/","og_locale":"en_US","og_type":"article","og_title":"How to implement the quick sort algorithm using the C language?","og_description":"Here is an example code implementing the quicksort algorithm in the C language. #include &lt;stdio.h&gt; void swap(int* a, int* b) { int t = *a; *a = *b; *b = t; } int partition(int arr[], int low, int high) { int pivot = arr[high]; \/\/ \u5c06\u6700\u540e\u4e00\u4e2a\u5143\u7d20\u4f5c\u4e3a\u57fa\u51c6 int i = (low - 1); \/\/ \u6700\u5c0f\u5143\u7d20\u7684\u7d22\u5f15 for [&hellip;]","og_url":"https:\/\/www.silicloud.com\/blog\/how-to-implement-the-quick-sort-algorithm-using-the-c-language\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-15T16:37:24+00:00","article_modified_time":"2024-03-21T12:55:38+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-implement-the-quick-sort-algorithm-using-the-c-language\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-implement-the-quick-sort-algorithm-using-the-c-language\/"},"author":{"name":"Noah Thompson","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/2e83cc6ab9f60d36921c2d0f9f280f4a"},"headline":"How to implement the quick sort algorithm using the C language?","datePublished":"2024-03-15T16:37:24+00:00","dateModified":"2024-03-21T12:55:38+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-implement-the-quick-sort-algorithm-using-the-c-language\/"},"wordCount":117,"commentCount":0,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-to-implement-the-quick-sort-algorithm-using-the-c-language\/","url":"https:\/\/www.silicloud.com\/blog\/how-to-implement-the-quick-sort-algorithm-using-the-c-language\/","name":"How to implement the quick sort algorithm using the C language? - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-15T16:37:24+00:00","dateModified":"2024-03-21T12:55:38+00:00","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-implement-the-quick-sort-algorithm-using-the-c-language\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-to-implement-the-quick-sort-algorithm-using-the-c-language\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-to-implement-the-quick-sort-algorithm-using-the-c-language\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to implement the quick sort algorithm using the C language?"}]},{"@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\/18278","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=18278"}],"version-history":[{"count":1,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/18278\/revisions"}],"predecessor-version":[{"id":51946,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/18278\/revisions\/51946"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=18278"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=18278"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=18278"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}