<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>EmbLogic &#187; quick sort</title>
	<atom:link href="https://www.emblogic.com/blog/tag/quick-sort/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.emblogic.com/blog</link>
	<description>Embedded System and ARM Training</description>
	<lastBuildDate>Tue, 03 Mar 2020 13:00:06 +0000</lastBuildDate>
	<language>en-US</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.9.1</generator>
	<item>
		<title>Quick Sort using recursion</title>
		<link>https://www.emblogic.com/blog/07/quick-sort-using-recursion-2/</link>
		<comments>https://www.emblogic.com/blog/07/quick-sort-using-recursion-2/#comments</comments>
		<pubDate>Fri, 17 Jul 2015 05:27:27 +0000</pubDate>
		<dc:creator><![CDATA[Ankur Garg]]></dc:creator>
				<category><![CDATA[Data Structures with C]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Functions]]></category>
		<category><![CDATA[quick sort]]></category>
		<category><![CDATA[recursion]]></category>
		<category><![CDATA[sorting]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=12906</guid>
		<description><![CDATA[//Quick sorting using Recursion #include&#60;stdio.h&#62; #include&#60;stdlib.h&#62; //Prototypes of functions used int * input(int *,int); int * sort(int *,int); void display(int*,int); int main() { int *a,n; printf(&#8220;Enter number of numbers you want to sort?\n&#8221;); scanf(&#8220;%d&#8221;,&#38;n); a = input(a,n); a = sort(a,n);//call &#8230; <a href="https://www.emblogic.com/blog/07/quick-sort-using-recursion-2/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>//Quick sorting using Recursion<br />
#include&lt;stdio.h&gt;<br />
#include&lt;stdlib.h&gt;<br />
//Prototypes of functions used<br />
int * input(int *,int);<br />
int * sort(int *,int);<br />
void display(int*,int);<br />
int main()<br />
{<br />
int *a,n;<br />
printf(&#8220;Enter number of numbers you want to sort?\n&#8221;);<br />
scanf(&#8220;%d&#8221;,&amp;n);<br />
a = input(a,n);<br />
a = sort(a,n);//call to quick sort<br />
display(a,n);<br />
return 0;<br />
}<br />
//Function to input an array<br />
int * input(int *a,int n)<br />
{<br />
int i;<br />
printf(&#8220;Enter %d elements\n&#8221;,n);<br />
a = (int *)malloc(sizeof(int)*n);<br />
for(i=0;i&lt;n;i++)<br />
scanf(&#8220;%d&#8221;,&amp;a[i]);<br />
return a;<br />
}<br />
//Function to Quick Sort<br />
int * sort(int *data,int n)<br />
{<br />
int too_small_index,too_big_index,pivot,temp;<br />
pivot = 0;//Index of pivot element<br />
too_big_index = pivot + 1;<br />
too_small_index = n &#8211; 1;<br />
//Terminating condition for recursive call<br />
if(too_big_index&gt;too_small_index)<br />
return data;<br />
do<br />
{<br />
//Step 1<br />
while(*(data + too_big_index)&lt;=*(data + pivot))<br />
++too_big_index;<br />
//Step 2<br />
while(*(data + too_small_index)&gt;*(data + pivot))<br />
&#8211;too_small_index;<br />
//Step 3<br />
if(too_big_index&lt;too_small_index)<br />
{<br />
temp = *(data + too_big_index);<br />
*(data + too_big_index) = *(data + too_small_index);<br />
*(data+too_small_index) = temp;<br />
}<br />
}while(too_small_index&gt;too_big_index);//Step 4<br />
//Step 5<br />
temp = *(data + too_small_index);<br />
*(data + too_small_index) = *(data+pivot);<br />
*(data+pivot) = temp;<br />
//Sorting left side of array<br />
if(too_small_index!=too_big_index)<br />
data = sort(data,too_small_index);<br />
//sorting right side of array<br />
sort((data+too_small_index+1),n-too_small_index-1);<br />
return data;<br />
}<br />
//Function to display the array<br />
void display(int*a,int n )<br />
{<br />
int i;<br />
printf(&#8220;\nSorted list\n&#8221;);<br />
for(i=0;i&lt;n;i++)<br />
printf(&#8220;%d\t&#8221;,*(a+i));<br />
}</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/07/quick-sort-using-recursion-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
