<?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; recursion</title>
	<atom:link href="https://www.emblogic.com/blog/tag/recursion/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>
		<item>
		<title>Bubble sorting using recursion</title>
		<link>https://www.emblogic.com/blog/07/bubble-sorting-using-recursion/</link>
		<comments>https://www.emblogic.com/blog/07/bubble-sorting-using-recursion/#comments</comments>
		<pubDate>Thu, 16 Jul 2015 12:53:10 +0000</pubDate>
		<dc:creator><![CDATA[Ankur Garg]]></dc:creator>
				<category><![CDATA[Data Structures with C]]></category>
		<category><![CDATA[buuble sort]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[function]]></category>
		<category><![CDATA[pointers]]></category>
		<category><![CDATA[recursion]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=12897</guid>
		<description><![CDATA[#include&#60;stdio.h&#62; #include&#60;stdlib.h&#62; int * input(int *,int); int * sort(int *,int); void display(int*,int); int main() { int *a,n,i,j,c,temp; 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); display(a,n); } int * input(int *a,int n) { &#8230; <a href="https://www.emblogic.com/blog/07/bubble-sorting-using-recursion/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>#include&lt;stdio.h&gt;<br />
#include&lt;stdlib.h&gt;<br />
int * input(int *,int);<br />
int * sort(int *,int);<br />
void display(int*,int);</p>
<p>int main()<br />
{<br />
int *a,n,i,j,c,temp;<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);<br />
display(a,n);<br />
}<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 />
void display(int*a,int n )<br />
{<br />
int i;<br />
printf(&#8220;Sorted list\n&#8221;);<br />
for(i=0;i&lt;n;i++)<br />
printf(&#8220;%d\n&#8221;,a[i]);<br />
}</p>
<p>int * sort(int *a,int n)<br />
{    int i,j,temp;<br />
if(n==0)<br />
return a;<br />
for(i=0;i&lt;n-1;i++)<br />
if(*(a+i)&gt;*(a+i+1))<br />
{<br />
temp = *(a+i);<br />
*(a+i) = *(a+i+1);<br />
*(a+i+1) = temp;<br />
}<br />
sort(a,n-1);<br />
}</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/07/bubble-sorting-using-recursion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
