<?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>eXclusiveMinds &#187; Tutorials</title>
	<atom:link href="http://eXclusiveMinds.com/category/tutorials/feed/" rel="self" type="application/rss+xml" />
	<link>http://eXclusiveMinds.com</link>
	<description>eXclusive resource for programmers, developers and designers</description>
	<lastBuildDate>Sat, 13 Mar 2010 23:28:44 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Quick Sort Implementation in C#</title>
		<link>http://eXclusiveMinds.com/2010/03/13/quick-sort-implementation-in-c/</link>
		<comments>http://eXclusiveMinds.com/2010/03/13/quick-sort-implementation-in-c/#comments</comments>
		<pubDate>Fri, 12 Mar 2010 21:23:30 +0000</pubDate>
		<dc:creator>eXclusiveMinds</dc:creator>
				<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://eXclusiveMinds.com/?p=1566</guid>
		<description><![CDATA[
/* QuickSort.cs */
&#160;
class QuickSort
&#123;
    static void Main&#40;string&#91;&#93; args&#41;
    &#123;
        a = new&#91;&#93; &#123; 1, 6, 7, 2, 3, 8, 9, 4, 5 &#125;;
        Quicksort&#40;a, 0, a.Length - 1&#41;;
    &#125;
&#160;
    [...]]]></description>
			<content:encoded><![CDATA[
<div class="wp_syntax"><table><tr><td><div class="code"><pre class="csharp" style="font-family:Consolas; monospace;"><span style="color: #008080; font-style: italic;">/* QuickSort.cs */</span>
&nbsp;
<span style="color: #FF0000;">class</span> QuickSort
<span style="color: #000000;">&#123;</span>
    <span style="color: #0600FF;">static</span> <span style="color: #0600FF;">void</span> Main<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">string</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> args<span style="color: #000000;">&#41;</span>
    <span style="color: #000000;">&#123;</span>
        a <span style="color: #008000;">=</span> <span style="color: #008000;">new</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> <span style="color: #000000;">&#123;</span> <span style="color: #FF0000;">1</span>, <span style="color: #FF0000;">6</span>, <span style="color: #FF0000;">7</span>, <span style="color: #FF0000;">2</span>, <span style="color: #FF0000;">3</span>, <span style="color: #FF0000;">8</span>, <span style="color: #FF0000;">9</span>, <span style="color: #FF0000;">4</span>, <span style="color: #FF0000;">5</span> <span style="color: #000000;">&#125;</span><span style="color: #008000;">;</span>
        Quicksort<span style="color: #000000;">&#40;</span>a, <span style="color: #FF0000;">0</span>, a.<span style="color: #0000FF;">Length</span> <span style="color: #008000;">-</span> <span style="color: #FF0000;">1</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
    <span style="color: #000000;">&#125;</span>
&nbsp;
    <span style="color: #0600FF;">static</span> <span style="color: #0600FF;">void</span> Quicksort<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">int</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> array, <span style="color: #FF0000;">int</span> lo, <span style="color: #FF0000;">int</span> hi<span style="color: #000000;">&#41;</span>
    <span style="color: #000000;">&#123;</span>
        <span style="color: #008080; font-style: italic;">//  lo is the lower index, hi is the upper index</span>
        <span style="color: #008080; font-style: italic;">//  of the region of array array that is to be sorted</span>
        <span style="color: #FF0000;">int</span> i <span style="color: #008000;">=</span> lo, j <span style="color: #008000;">=</span> hi<span style="color: #008000;">;</span>
        <span style="color: #FF0000;">int</span> pivot <span style="color: #008000;">=</span> array<span style="color: #000000;">&#91;</span><span style="color: #000000;">&#40;</span>lo <span style="color: #008000;">+</span> hi<span style="color: #000000;">&#41;</span> <span style="color: #008000;">/</span> <span style="color: #FF0000;">2</span><span style="color: #000000;">&#93;</span><span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #008080; font-style: italic;">//  partition</span>
        <span style="color: #0600FF;">do</span>
        <span style="color: #000000;">&#123;</span>
            <span style="color: #0600FF;">while</span> <span style="color: #000000;">&#40;</span>array<span style="color: #000000;">&#91;</span>i<span style="color: #000000;">&#93;</span> <span style="color: #008000;">&lt;</span> pivot<span style="color: #000000;">&#41;</span>
                i<span style="color: #008000;">++;</span>
            <span style="color: #0600FF;">while</span> <span style="color: #000000;">&#40;</span>array<span style="color: #000000;">&#91;</span>j<span style="color: #000000;">&#93;</span> <span style="color: #008000;">&gt;</span> pivot<span style="color: #000000;">&#41;</span>
                j<span style="color: #008000;">--;</span>
            <span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>i <span style="color: #008000;">&lt;=</span> j<span style="color: #000000;">&#41;</span>
            <span style="color: #000000;">&#123;</span>
                <span style="color: #FF0000;">int</span> temp <span style="color: #008000;">=</span> array<span style="color: #000000;">&#91;</span>i<span style="color: #000000;">&#93;</span><span style="color: #008000;">;</span>
                array<span style="color: #000000;">&#91;</span>i<span style="color: #000000;">&#93;</span> <span style="color: #008000;">=</span> array<span style="color: #000000;">&#91;</span>j<span style="color: #000000;">&#93;</span><span style="color: #008000;">;</span>
                array<span style="color: #000000;">&#91;</span>j<span style="color: #000000;">&#93;</span> <span style="color: #008000;">=</span> temp<span style="color: #008000;">;</span>
                i<span style="color: #008000;">++;</span>
                j<span style="color: #008000;">--;</span>
            <span style="color: #000000;">&#125;</span>
        <span style="color: #000000;">&#125;</span> <span style="color: #0600FF;">while</span> <span style="color: #000000;">&#40;</span>i <span style="color: #008000;">&lt;=</span> j<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #008080; font-style: italic;">//  recursion</span>
        <span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>lo <span style="color: #008000;">&lt;</span> j<span style="color: #000000;">&#41;</span>
            Quicksort<span style="color: #000000;">&#40;</span>array, lo, j<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>i <span style="color: #008000;">&lt;</span> hi<span style="color: #000000;">&#41;</span>
            Quicksort<span style="color: #000000;">&#40;</span>array, i, hi<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
    <span style="color: #000000;">&#125;</span>    
<span style="color: #000000;">&#125;</span></pre></div></td></tr></table></div>

<img src="http://eXclusiveMinds.Com/?ak_action=api_record_view&id=1566&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://eXclusiveMinds.com/2010/03/13/quick-sort-implementation-in-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Merge Sort Implementation in C#</title>
		<link>http://eXclusiveMinds.com/2010/03/13/merge-sort-implementation-in-c/</link>
		<comments>http://eXclusiveMinds.com/2010/03/13/merge-sort-implementation-in-c/#comments</comments>
		<pubDate>Fri, 12 Mar 2010 21:21:41 +0000</pubDate>
		<dc:creator>eXclusiveMinds</dc:creator>
				<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://eXclusiveMinds.com/?p=1564</guid>
		<description><![CDATA[
/* MergeSort.cs */ 
&#160;
class MergeSort
&#123;
    private static int&#91;&#93; a, b;
&#160;
    static void Main&#40;string&#91;&#93; args&#41;
    &#123;
        a = new&#91;&#93; &#123; 1, 6, 7, 2, 3, 8, 9, 4, 5 &#125;;
        b = new [...]]]></description>
			<content:encoded><![CDATA[
<div class="wp_syntax"><table><tr><td><div class="code"><pre class="csharp" style="font-family:Consolas; monospace;"><span style="color: #008080; font-style: italic;">/* MergeSort.cs */</span> 
&nbsp;
<span style="color: #FF0000;">class</span> MergeSort
<span style="color: #000000;">&#123;</span>
    <span style="color: #0600FF;">private</span> <span style="color: #0600FF;">static</span> <span style="color: #FF0000;">int</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> a, b<span style="color: #008000;">;</span>
&nbsp;
    <span style="color: #0600FF;">static</span> <span style="color: #0600FF;">void</span> Main<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">string</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> args<span style="color: #000000;">&#41;</span>
    <span style="color: #000000;">&#123;</span>
        a <span style="color: #008000;">=</span> <span style="color: #008000;">new</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> <span style="color: #000000;">&#123;</span> <span style="color: #FF0000;">1</span>, <span style="color: #FF0000;">6</span>, <span style="color: #FF0000;">7</span>, <span style="color: #FF0000;">2</span>, <span style="color: #FF0000;">3</span>, <span style="color: #FF0000;">8</span>, <span style="color: #FF0000;">9</span>, <span style="color: #FF0000;">4</span>, <span style="color: #FF0000;">5</span> <span style="color: #000000;">&#125;</span><span style="color: #008000;">;</span>
        b <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> <span style="color: #FF0000;">int</span><span style="color: #000000;">&#91;</span>a.<span style="color: #0000FF;">Length</span><span style="color: #000000;">&#93;</span><span style="color: #008000;">;</span>
        Sort<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">0</span>, a.<span style="color: #0000FF;">Length</span> <span style="color: #008000;">-</span> <span style="color: #FF0000;">1</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
    <span style="color: #000000;">&#125;</span>
&nbsp;
    <span style="color: #0600FF;">private</span> <span style="color: #0600FF;">static</span> <span style="color: #0600FF;">void</span> Sort<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">int</span> left, <span style="color: #FF0000;">int</span> right<span style="color: #000000;">&#41;</span>
    <span style="color: #000000;">&#123;</span>
        <span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>left <span style="color: #008000;">&lt;</span> right<span style="color: #000000;">&#41;</span>
        <span style="color: #000000;">&#123;</span>
            <span style="color: #FF0000;">int</span> mid <span style="color: #008000;">=</span> <span style="color: #000000;">&#40;</span>left <span style="color: #008000;">+</span> right<span style="color: #000000;">&#41;</span> <span style="color: #008000;">/</span> <span style="color: #FF0000;">2</span><span style="color: #008000;">;</span>
            Sort<span style="color: #000000;">&#40;</span>left, mid<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
            Sort<span style="color: #000000;">&#40;</span>mid <span style="color: #008000;">+</span> <span style="color: #FF0000;">1</span>, right<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
            Merge<span style="color: #000000;">&#40;</span>left, mid, right<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #000000;">&#125;</span>
    <span style="color: #000000;">&#125;</span>
&nbsp;
    <span style="color: #0600FF;">static</span> <span style="color: #0600FF;">void</span> Merge<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">int</span> left, <span style="color: #FF0000;">int</span> mid, <span style="color: #FF0000;">int</span> right<span style="color: #000000;">&#41;</span>
    <span style="color: #000000;">&#123;</span>
        <span style="color: #FF0000;">int</span> i <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span>
        <span style="color: #FF0000;">int</span> j <span style="color: #008000;">=</span> left<span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #008080; font-style: italic;">// copy first half of array a to auxiliary array b</span>
        <span style="color: #0600FF;">while</span> <span style="color: #000000;">&#40;</span>j <span style="color: #008000;">&lt;=</span> mid<span style="color: #000000;">&#41;</span>
            b<span style="color: #000000;">&#91;</span>i<span style="color: #008000;">++</span><span style="color: #000000;">&#93;</span> <span style="color: #008000;">=</span> a<span style="color: #000000;">&#91;</span>j<span style="color: #008000;">++</span><span style="color: #000000;">&#93;</span><span style="color: #008000;">;</span>
&nbsp;
        i <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span>
        <span style="color: #FF0000;">int</span> k <span style="color: #008000;">=</span> left<span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #008080; font-style: italic;">// copy back next-greatest element at each time</span>
        <span style="color: #0600FF;">while</span> <span style="color: #000000;">&#40;</span>k <span style="color: #008000;">&lt;</span> j <span style="color: #008000;">&amp;&amp;</span> j <span style="color: #008000;">&lt;=</span> right<span style="color: #000000;">&#41;</span>
            <span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>b<span style="color: #000000;">&#91;</span>i<span style="color: #000000;">&#93;</span> <span style="color: #008000;">&lt;=</span> a<span style="color: #000000;">&#91;</span>j<span style="color: #000000;">&#93;</span><span style="color: #000000;">&#41;</span>
                a<span style="color: #000000;">&#91;</span>k<span style="color: #008000;">++</span><span style="color: #000000;">&#93;</span> <span style="color: #008000;">=</span> b<span style="color: #000000;">&#91;</span>i<span style="color: #008000;">++</span><span style="color: #000000;">&#93;</span><span style="color: #008000;">;</span>
            <span style="color: #0600FF;">else</span>
                a<span style="color: #000000;">&#91;</span>k<span style="color: #008000;">++</span><span style="color: #000000;">&#93;</span> <span style="color: #008000;">=</span> a<span style="color: #000000;">&#91;</span>j<span style="color: #008000;">++</span><span style="color: #000000;">&#93;</span><span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #008080; font-style: italic;">// copy back remaining elements of first half (if any)</span>
        <span style="color: #0600FF;">while</span> <span style="color: #000000;">&#40;</span>k <span style="color: #008000;">&lt;</span> j<span style="color: #000000;">&#41;</span>
            a<span style="color: #000000;">&#91;</span>k<span style="color: #008000;">++</span><span style="color: #000000;">&#93;</span> <span style="color: #008000;">=</span> b<span style="color: #000000;">&#91;</span>i<span style="color: #008000;">++</span><span style="color: #000000;">&#93;</span><span style="color: #008000;">;</span>
    <span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span></pre></div></td></tr></table></div>

<img src="http://eXclusiveMinds.Com/?ak_action=api_record_view&id=1564&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://eXclusiveMinds.com/2010/03/13/merge-sort-implementation-in-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Example showing Extension Methods in C#</title>
		<link>http://eXclusiveMinds.com/2010/01/03/example-showing-extension-methods-in-c/</link>
		<comments>http://eXclusiveMinds.com/2010/01/03/example-showing-extension-methods-in-c/#comments</comments>
		<pubDate>Sat, 02 Jan 2010 21:00:55 +0000</pubDate>
		<dc:creator>Ujwal Manandhar</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[C#]]></category>

		<guid isPermaLink="false">http://eXclusiveMinds.com/?p=364</guid>
		<description><![CDATA[Extension Method is really a cool stuff. We can simply add the additional method to any object without knowing anything about that object.Let’s say we want a method for string object which will reverse the string then you can choose extension method to do the thing.

Start writing Extension method:

static class Extension
    &#123;
 [...]]]></description>
			<content:encoded><![CDATA[<p>Extension Method is really a cool stuff. We can simply add the additional method to any object without knowing anything about that object.Let’s say we want a method for string object which will reverse the string then you can choose extension method to do the thing.<br />
<span id="more-364"></span></p>
<p>Start writing Extension method:</p>

<div class="wp_syntax"><table><tr><td><div class="code"><pre class="csharp" style="font-family:Consolas; monospace;"><span style="color: #0600FF;">static</span> <span style="color: #FF0000;">class</span> Extension
    <span style="color: #000000;">&#123;</span>
        <span style="color: #0600FF;">public</span> <span style="color: #0600FF;">static</span> <span style="color: #FF0000;">string</span> Reverse<span style="color: #000000;">&#40;</span><span style="color: #0600FF;">this</span> <span style="color: #FF0000;">String</span> input<span style="color: #000000;">&#41;</span>
        <span style="color: #000000;">&#123;</span>
            <span style="color: #FF0000;">char</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> inputchar <span style="color: #008000;">=</span> input.<span style="color: #0000FF;">ToCharArray</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
            <span style="color: #0600FF;">for</span> <span style="color: #000000;">&#40;</span><span style="color: #FF0000;">int</span> i <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span> i <span style="color: #008000;">&lt;</span> input.<span style="color: #0000FF;">Length</span> <span style="color: #008000;">/</span> <span style="color: #FF0000;">2</span><span style="color: #008000;">;</span> i<span style="color: #008000;">++</span><span style="color: #000000;">&#41;</span>
            <span style="color: #000000;">&#123;</span>
                inputchar<span style="color: #000000;">&#91;</span>i<span style="color: #000000;">&#93;</span> <span style="color: #008000;">^=</span> inputchar<span style="color: #000000;">&#91;</span>input.<span style="color: #0000FF;">Length</span> <span style="color: #008000;">-</span> <span style="color: #FF0000;">1</span> <span style="color: #008000;">-</span> i<span style="color: #000000;">&#93;</span><span style="color: #008000;">;</span>
                 inputchar<span style="color: #000000;">&#91;</span>input.<span style="color: #0000FF;">Length</span> <span style="color: #008000;">-</span> <span style="color: #FF0000;">1</span> <span style="color: #008000;">-</span> i<span style="color: #000000;">&#93;</span><span style="color: #008000;">^=</span>inputchar<span style="color: #000000;">&#91;</span>i<span style="color: #000000;">&#93;</span> <span style="color: #008000;">;</span>
                 inputchar<span style="color: #000000;">&#91;</span>i<span style="color: #000000;">&#93;</span> <span style="color: #008000;">^=</span> inputchar<span style="color: #000000;">&#91;</span>input.<span style="color: #0000FF;">Length</span> <span style="color: #008000;">-</span> <span style="color: #FF0000;">1</span> <span style="color: #008000;">-</span> i<span style="color: #000000;">&#93;</span><span style="color: #008000;">;</span>
            <span style="color: #000000;">&#125;</span>
            <span style="color: #0600FF;">return</span> <span style="color: #008000;">new</span> <span style="color: #FF0000;">string</span><span style="color: #000000;">&#40;</span>inputchar<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #000000;">&#125;</span>
    <span style="color: #000000;">&#125;</span></pre></div></td></tr></table></div>

<p>Note:<br />
class should be static, Method should be public static and the object on which the method to be added should be passed as parameter preceding by keyword this.</p>
<p>Now you can start to use this method as</p>

<div class="wp_syntax"><table><tr><td><div class="code"><pre class="csharp" style="font-family:Consolas; monospace;"><span style="color: #FF0000;">class</span> Program
    <span style="color: #000000;">&#123;</span>
        <span style="color: #0600FF;">static</span> <span style="color: #0600FF;">void</span> Main<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">string</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> args<span style="color: #000000;">&#41;</span>
        <span style="color: #000000;">&#123;</span>
            <span style="color: #FF0000;">string</span> s <span style="color: #008000;">=</span> <span style="color: #666666;">&quot;ujwal&quot;</span><span style="color: #008000;">;</span>
            Console.<span style="color: #0000FF;">WriteLine</span><span style="color: #000000;">&#40;</span>s.<span style="color: #0000FF;">Reverse</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #000000;">&#125;</span>
    <span style="color: #000000;">&#125;</span></pre></div></td></tr></table></div>

<p>I have done extensive use of Extension method while going through <a href="http://Asp.Net" title="http://Asp.Net" class="autohyperlink" target="_blank">Asp.Net</a> MVC project.</p>
<img src="http://eXclusiveMinds.Com/?ak_action=api_record_view&id=364&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://eXclusiveMinds.com/2010/01/03/example-showing-extension-methods-in-c/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Binary Tree Implementation in C#</title>
		<link>http://eXclusiveMinds.com/2009/12/12/binary-tree-implementation-in-c/</link>
		<comments>http://eXclusiveMinds.com/2009/12/12/binary-tree-implementation-in-c/#comments</comments>
		<pubDate>Fri, 11 Dec 2009 19:29:12 +0000</pubDate>
		<dc:creator>eXclusiveMinds</dc:creator>
				<category><![CDATA[Inverview Tips]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://eXclusiveMinds.com/?p=360</guid>
		<description><![CDATA[This is simple implementation of Binary Tree in C#. It includes all common methods for binary tree.


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
&#160;
namespace Interview
&#123;
public class BinaryTree
&#123;
	public TreeNode root;
&#160;
	public BinaryTree&#40;&#41;
	&#123;
		root = null;
	&#125;
&#160;
	public void print&#40;&#41;
	&#123;
		if &#40;root == null&#41;
			Console.WriteLine&#40;&#34;Empty Tree&#34;&#41;;
		else
			printTree&#40;root&#41;;
		Console.WriteLine&#40;&#41;;
	&#125;
	private void printTree&#40;TreeNode n&#41;
	&#123;
		if &#40;n != null&#41;
		&#123;
			printTree&#40;n.left&#41;;
			Console.Write&#40;n.data + &#34; &#34;&#41;;
			printTree&#40;n.right&#41;;
		&#125;
	&#125;
&#160;
	public void insert&#40;int x&#41;
	&#123;
		root = insert&#40;root, x&#41;;
	&#125;
	private TreeNode insert&#40;TreeNode TreeNode, int [...]]]></description>
			<content:encoded><![CDATA[<p>This is simple implementation of Binary Tree in C#. It includes all common methods for binary tree.<br />
<span id="more-360"></span></p>

<div class="wp_syntax"><table><tr><td><div class="code"><pre class="csharp" style="font-family:Consolas; monospace;"><span style="color: #0600FF;">using</span> <span style="color: #008080;">System</span><span style="color: #008000;">;</span>
<span style="color: #0600FF;">using</span> <span style="color: #008080;">System.Collections.Generic</span><span style="color: #008000;">;</span>
<span style="color: #0600FF;">using</span> <span style="color: #008080;">System.Linq</span><span style="color: #008000;">;</span>
<span style="color: #0600FF;">using</span> <span style="color: #008080;">System.Text</span><span style="color: #008000;">;</span>
<span style="color: #0600FF;">using</span> <span style="color: #008080;">System.Collections</span><span style="color: #008000;">;</span>
&nbsp;
<span style="color: #0600FF;">namespace</span> Interview
<span style="color: #000000;">&#123;</span>
<span style="color: #0600FF;">public</span> <span style="color: #FF0000;">class</span> BinaryTree
<span style="color: #000000;">&#123;</span>
	<span style="color: #0600FF;">public</span> TreeNode root<span style="color: #008000;">;</span>
&nbsp;
	<span style="color: #0600FF;">public</span> BinaryTree<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>
	<span style="color: #000000;">&#123;</span>
		root <span style="color: #008000;">=</span> null<span style="color: #008000;">;</span>
	<span style="color: #000000;">&#125;</span>
&nbsp;
	<span style="color: #0600FF;">public</span> <span style="color: #0600FF;">void</span> print<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>
	<span style="color: #000000;">&#123;</span>
		<span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>root <span style="color: #008000;">==</span> <span style="color: #0600FF;">null</span><span style="color: #000000;">&#41;</span>
			Console.<span style="color: #0000FF;">WriteLine</span><span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;Empty Tree&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
		<span style="color: #0600FF;">else</span>
			printTree<span style="color: #000000;">&#40;</span>root<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
		Console.<span style="color: #0000FF;">WriteLine</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
	<span style="color: #000000;">&#125;</span>
	<span style="color: #0600FF;">private</span> <span style="color: #0600FF;">void</span> printTree<span style="color: #000000;">&#40;</span>TreeNode n<span style="color: #000000;">&#41;</span>
	<span style="color: #000000;">&#123;</span>
		<span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>n <span style="color: #008000;">!=</span> <span style="color: #0600FF;">null</span><span style="color: #000000;">&#41;</span>
		<span style="color: #000000;">&#123;</span>
			printTree<span style="color: #000000;">&#40;</span>n.<span style="color: #0000FF;">left</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
			Console.<span style="color: #0000FF;">Write</span><span style="color: #000000;">&#40;</span>n.<span style="color: #0000FF;">data</span> <span style="color: #008000;">+</span> <span style="color: #666666;">&quot; &quot;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
			printTree<span style="color: #000000;">&#40;</span>n.<span style="color: #0000FF;">right</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
		<span style="color: #000000;">&#125;</span>
	<span style="color: #000000;">&#125;</span>
&nbsp;
	<span style="color: #0600FF;">public</span> <span style="color: #0600FF;">void</span> insert<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">int</span> x<span style="color: #000000;">&#41;</span>
	<span style="color: #000000;">&#123;</span>
		root <span style="color: #008000;">=</span> insert<span style="color: #000000;">&#40;</span>root, x<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
	<span style="color: #000000;">&#125;</span>
	<span style="color: #0600FF;">private</span> TreeNode insert<span style="color: #000000;">&#40;</span>TreeNode TreeNode, <span style="color: #FF0000;">int</span> data<span style="color: #000000;">&#41;</span>
	<span style="color: #000000;">&#123;</span>
		<span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>TreeNode <span style="color: #008000;">==</span> <span style="color: #0600FF;">null</span><span style="color: #000000;">&#41;</span>
		<span style="color: #000000;">&#123;</span>
			TreeNode <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> TreeNode<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
			TreeNode.<span style="color: #0000FF;">data</span> <span style="color: #008000;">=</span> data<span style="color: #008000;">;</span>
		<span style="color: #000000;">&#125;</span>
		<span style="color: #0600FF;">else</span>
		<span style="color: #000000;">&#123;</span>
			<span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>data <span style="color: #008000;">&lt;=</span> TreeNode.<span style="color: #0000FF;">data</span><span style="color: #000000;">&#41;</span>
			<span style="color: #000000;">&#123;</span>
				TreeNode.<span style="color: #0000FF;">left</span> <span style="color: #008000;">=</span> insert<span style="color: #000000;">&#40;</span>TreeNode.<span style="color: #0000FF;">left</span>, data<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
			<span style="color: #000000;">&#125;</span>
			<span style="color: #0600FF;">else</span>
			<span style="color: #000000;">&#123;</span>
				TreeNode.<span style="color: #0000FF;">right</span> <span style="color: #008000;">=</span> insert<span style="color: #000000;">&#40;</span>TreeNode.<span style="color: #0000FF;">right</span>, data<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
			<span style="color: #000000;">&#125;</span>
		<span style="color: #000000;">&#125;</span>
		<span style="color: #0600FF;">return</span> <span style="color: #000000;">&#40;</span>TreeNode<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
	<span style="color: #000000;">&#125;</span>
&nbsp;
	<span style="color: #0600FF;">public</span> <span style="color: #FF0000;">int</span> Size<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>
	<span style="color: #000000;">&#123;</span>
		<span style="color: #0600FF;">return</span> <span style="color: #000000;">&#40;</span>Size<span style="color: #000000;">&#40;</span>root<span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
	<span style="color: #000000;">&#125;</span>
	<span style="color: #0600FF;">private</span> <span style="color: #FF0000;">int</span> Size<span style="color: #000000;">&#40;</span>TreeNode TreeNode<span style="color: #000000;">&#41;</span>
	<span style="color: #000000;">&#123;</span>
		<span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>TreeNode <span style="color: #008000;">==</span> <span style="color: #0600FF;">null</span><span style="color: #000000;">&#41;</span> <span style="color: #0600FF;">return</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span>
		<span style="color: #0600FF;">else</span>
		<span style="color: #000000;">&#123;</span>
			<span style="color: #0600FF;">return</span> Size<span style="color: #000000;">&#40;</span>TreeNode.<span style="color: #0000FF;">left</span><span style="color: #000000;">&#41;</span> <span style="color: #008000;">+</span> <span style="color: #FF0000;">1</span> <span style="color: #008000;">+</span> Size<span style="color: #000000;">&#40;</span>TreeNode.<span style="color: #0000FF;">right</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
		<span style="color: #000000;">&#125;</span>
	<span style="color: #000000;">&#125;</span>
&nbsp;
	<span style="color: #0600FF;">public</span> <span style="color: #FF0000;">int</span> MaxDepth<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>
	<span style="color: #000000;">&#123;</span>
		<span style="color: #0600FF;">return</span> MaxDepth<span style="color: #000000;">&#40;</span>root<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
	<span style="color: #000000;">&#125;</span>
	<span style="color: #0600FF;">private</span> <span style="color: #FF0000;">int</span> MaxDepth<span style="color: #000000;">&#40;</span>TreeNode TreeNode<span style="color: #000000;">&#41;</span>
	<span style="color: #000000;">&#123;</span>
		<span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>TreeNode <span style="color: #008000;">==</span> <span style="color: #0600FF;">null</span><span style="color: #000000;">&#41;</span> <span style="color: #0600FF;">return</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span>
		<span style="color: #FF0000;">int</span> lDepth <span style="color: #008000;">=</span> MaxDepth<span style="color: #000000;">&#40;</span>TreeNode.<span style="color: #0000FF;">left</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
		<span style="color: #FF0000;">int</span> rDepth <span style="color: #008000;">=</span> MaxDepth<span style="color: #000000;">&#40;</span>TreeNode.<span style="color: #0000FF;">right</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
		<span style="color: #0600FF;">return</span> Math.<span style="color: #0000FF;">Max</span><span style="color: #000000;">&#40;</span>lDepth, rDepth<span style="color: #000000;">&#41;</span> <span style="color: #008000;">+</span> <span style="color: #FF0000;">1</span><span style="color: #008000;">;</span>
	<span style="color: #000000;">&#125;</span>
&nbsp;
	<span style="color: #0600FF;">public</span> <span style="color: #FF0000;">int</span> MinValue<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>
	<span style="color: #000000;">&#123;</span>
		<span style="color: #0600FF;">return</span> MinValue<span style="color: #000000;">&#40;</span>root<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
	<span style="color: #000000;">&#125;</span>
	<span style="color: #0600FF;">private</span> <span style="color: #FF0000;">int</span> MinValue<span style="color: #000000;">&#40;</span>TreeNode TreeNode<span style="color: #000000;">&#41;</span>
	<span style="color: #000000;">&#123;</span>
		<span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>TreeNode.<span style="color: #0000FF;">left</span> <span style="color: #008000;">==</span> <span style="color: #0600FF;">null</span><span style="color: #000000;">&#41;</span> <span style="color: #0600FF;">return</span> TreeNode.<span style="color: #0000FF;">data</span><span style="color: #008000;">;</span>
		<span style="color: #0600FF;">else</span> <span style="color: #0600FF;">return</span> MinValue<span style="color: #000000;">&#40;</span>TreeNode.<span style="color: #0000FF;">left</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
	<span style="color: #000000;">&#125;</span>
&nbsp;
	<span style="color: #0600FF;">public</span> <span style="color: #FF0000;">bool</span> HasPathSum<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">int</span> sum<span style="color: #000000;">&#41;</span>
	<span style="color: #000000;">&#123;</span>
		<span style="color: #0600FF;">return</span> HasPathSum<span style="color: #000000;">&#40;</span>root, sum<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
	<span style="color: #000000;">&#125;</span>
	<span style="color: #0600FF;">private</span> <span style="color: #FF0000;">bool</span> HasPathSum<span style="color: #000000;">&#40;</span>TreeNode TreeNode, <span style="color: #FF0000;">int</span> sum<span style="color: #000000;">&#41;</span>
	<span style="color: #000000;">&#123;</span>
		<span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>TreeNode <span style="color: #008000;">==</span> <span style="color: #0600FF;">null</span><span style="color: #000000;">&#41;</span>
		<span style="color: #000000;">&#123;</span>
			<span style="color: #0600FF;">return</span> <span style="color: #000000;">&#40;</span>sum <span style="color: #008000;">==</span> <span style="color: #FF0000;">0</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
		<span style="color: #000000;">&#125;</span>
		<span style="color: #0600FF;">else</span>
		<span style="color: #000000;">&#123;</span>
			<span style="color: #FF0000;">int</span> temp <span style="color: #008000;">=</span> sum <span style="color: #008000;">-</span> TreeNode.<span style="color: #0000FF;">data</span><span style="color: #008000;">;</span>
			<span style="color: #0600FF;">return</span> HasPathSum<span style="color: #000000;">&#40;</span>TreeNode.<span style="color: #0000FF;">left</span>, temp<span style="color: #000000;">&#41;</span> <span style="color: #008000;">||</span> HasPathSum<span style="color: #000000;">&#40;</span>TreeNode.<span style="color: #0000FF;">right</span>, temp<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
		<span style="color: #000000;">&#125;</span>
	<span style="color: #000000;">&#125;</span>
&nbsp;
	<span style="color: #0600FF;">public</span> <span style="color: #0600FF;">void</span> PrintPaths<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>
	<span style="color: #000000;">&#123;</span>
		<span style="color: #FF0000;">int</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> path <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> <span style="color: #FF0000;">int</span><span style="color: #000000;">&#91;</span><span style="color: #FF0000;">1000</span><span style="color: #000000;">&#93;</span><span style="color: #008000;">;</span>
		PrintPaths<span style="color: #000000;">&#40;</span>root, path, <span style="color: #FF0000;">0</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
	<span style="color: #000000;">&#125;</span>
	<span style="color: #0600FF;">private</span> <span style="color: #0600FF;">void</span> PrintPaths<span style="color: #000000;">&#40;</span>TreeNode TreeNode, <span style="color: #FF0000;">int</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> path, <span style="color: #FF0000;">int</span> pathLen<span style="color: #000000;">&#41;</span>
	<span style="color: #000000;">&#123;</span>
		<span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>TreeNode <span style="color: #008000;">==</span> <span style="color: #0600FF;">null</span><span style="color: #000000;">&#41;</span> return<span style="color: #008000;">;</span>
		path<span style="color: #000000;">&#91;</span>pathLen<span style="color: #000000;">&#93;</span> <span style="color: #008000;">=</span> TreeNode.<span style="color: #0000FF;">data</span><span style="color: #008000;">;</span>
		pathLen<span style="color: #008000;">++;</span>
		<span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>TreeNode.<span style="color: #0000FF;">left</span> <span style="color: #008000;">==</span> <span style="color: #0600FF;">null</span> <span style="color: #008000;">&amp;&amp;</span> TreeNode.<span style="color: #0000FF;">right</span> <span style="color: #008000;">==</span> <span style="color: #0600FF;">null</span><span style="color: #000000;">&#41;</span>
		<span style="color: #000000;">&#123;</span>
			PrintPaths<span style="color: #000000;">&#40;</span>path, pathLen<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
		<span style="color: #000000;">&#125;</span>
		<span style="color: #0600FF;">else</span>
		<span style="color: #000000;">&#123;</span>
			PrintPaths<span style="color: #000000;">&#40;</span>TreeNode.<span style="color: #0000FF;">left</span>, path, pathLen<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
			PrintPaths<span style="color: #000000;">&#40;</span>TreeNode.<span style="color: #0000FF;">right</span>, path, pathLen<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
		<span style="color: #000000;">&#125;</span>
	<span style="color: #000000;">&#125;</span>
	<span style="color: #0600FF;">private</span> <span style="color: #0600FF;">void</span> PrintPaths<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">int</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> ints, <span style="color: #FF0000;">int</span> len<span style="color: #000000;">&#41;</span>
	<span style="color: #000000;">&#123;</span>
		<span style="color: #0600FF;">for</span> <span style="color: #000000;">&#40;</span><span style="color: #FF0000;">int</span> i <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span> i <span style="color: #008000;">&lt;</span> len<span style="color: #008000;">;</span> i<span style="color: #008000;">++</span><span style="color: #000000;">&#41;</span>
		<span style="color: #000000;">&#123;</span>
			Console.<span style="color: #0000FF;">Write</span><span style="color: #000000;">&#40;</span>ints<span style="color: #000000;">&#91;</span>i<span style="color: #000000;">&#93;</span> <span style="color: #008000;">+</span> <span style="color: #666666;">&quot; &quot;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
		<span style="color: #000000;">&#125;</span>
		Console.<span style="color: #0000FF;">WriteLine</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
	<span style="color: #000000;">&#125;</span>
&nbsp;
	<span style="color: #0600FF;">public</span> <span style="color: #0600FF;">void</span> mirror<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>
	<span style="color: #000000;">&#123;</span>
		mirror<span style="color: #000000;">&#40;</span>root<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
	<span style="color: #000000;">&#125;</span>
	<span style="color: #0600FF;">private</span> <span style="color: #0600FF;">void</span> mirror<span style="color: #000000;">&#40;</span>TreeNode TreeNode<span style="color: #000000;">&#41;</span>
	<span style="color: #000000;">&#123;</span>
		<span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>TreeNode <span style="color: #008000;">!=</span> <span style="color: #0600FF;">null</span><span style="color: #000000;">&#41;</span>
		<span style="color: #000000;">&#123;</span>
			mirror<span style="color: #000000;">&#40;</span>TreeNode.<span style="color: #0000FF;">left</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
			mirror<span style="color: #000000;">&#40;</span>TreeNode.<span style="color: #0000FF;">right</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
			TreeNode temp <span style="color: #008000;">=</span> TreeNode.<span style="color: #0000FF;">left</span><span style="color: #008000;">;</span>
			TreeNode.<span style="color: #0000FF;">left</span> <span style="color: #008000;">=</span> TreeNode.<span style="color: #0000FF;">right</span><span style="color: #008000;">;</span>
			TreeNode.<span style="color: #0000FF;">right</span> <span style="color: #008000;">=</span> temp<span style="color: #008000;">;</span>
		<span style="color: #000000;">&#125;</span>
	<span style="color: #000000;">&#125;</span>
&nbsp;
	<span style="color: #0600FF;">public</span> <span style="color: #0600FF;">void</span> DoubleTree<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>
	<span style="color: #000000;">&#123;</span>
		DoubleTree<span style="color: #000000;">&#40;</span>root<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
	<span style="color: #000000;">&#125;</span>
	<span style="color: #0600FF;">public</span> <span style="color: #0600FF;">void</span> DoubleTree<span style="color: #000000;">&#40;</span>TreeNode TreeNode<span style="color: #000000;">&#41;</span>
	<span style="color: #000000;">&#123;</span>
		<span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>TreeNode <span style="color: #008000;">==</span> <span style="color: #0600FF;">null</span><span style="color: #000000;">&#41;</span> return<span style="color: #008000;">;</span>
		DoubleTree<span style="color: #000000;">&#40;</span>TreeNode.<span style="color: #0000FF;">left</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
		DoubleTree<span style="color: #000000;">&#40;</span>TreeNode.<span style="color: #0000FF;">right</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
		TreeNode temp <span style="color: #008000;">=</span> TreeNode.<span style="color: #0000FF;">left</span><span style="color: #008000;">;</span>
		TreeNode newNode <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> TreeNode<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
		newNode.<span style="color: #0000FF;">data</span> <span style="color: #008000;">=</span> TreeNode.<span style="color: #0000FF;">data</span><span style="color: #008000;">;</span>
		TreeNode.<span style="color: #0000FF;">left</span> <span style="color: #008000;">=</span> newNode<span style="color: #008000;">;</span>
		TreeNode.<span style="color: #0000FF;">left</span>.<span style="color: #0000FF;">left</span> <span style="color: #008000;">=</span> temp<span style="color: #008000;">;</span>
	<span style="color: #000000;">&#125;</span>
&nbsp;
	<span style="color: #0600FF;">public</span> <span style="color: #FF0000;">bool</span> IsSameTree<span style="color: #000000;">&#40;</span>BinaryTree tree<span style="color: #000000;">&#41;</span>
	<span style="color: #000000;">&#123;</span>
		<span style="color: #0600FF;">return</span> IsSameTree<span style="color: #000000;">&#40;</span>root, tree.<span style="color: #0000FF;">root</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
	<span style="color: #000000;">&#125;</span>
	<span style="color: #0600FF;">private</span> <span style="color: #FF0000;">bool</span> IsSameTree<span style="color: #000000;">&#40;</span>TreeNode t1, TreeNode t2<span style="color: #000000;">&#41;</span>
	<span style="color: #000000;">&#123;</span>
		<span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>t1 <span style="color: #008000;">==</span> <span style="color: #0600FF;">null</span> <span style="color: #008000;">&amp;&amp;</span> t2 <span style="color: #008000;">==</span> <span style="color: #0600FF;">null</span><span style="color: #000000;">&#41;</span> <span style="color: #0600FF;">return</span> <span style="color: #000000;">&#40;</span><span style="color: #0600FF;">true</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
		<span style="color: #0600FF;">else</span> <span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>t1 <span style="color: #008000;">!=</span> <span style="color: #0600FF;">null</span> <span style="color: #008000;">&amp;&amp;</span> t2 <span style="color: #008000;">!=</span> <span style="color: #0600FF;">null</span><span style="color: #000000;">&#41;</span>
		<span style="color: #000000;">&#123;</span>
			<span style="color: #0600FF;">return</span> <span style="color: #000000;">&#40;</span>
				t1.<span style="color: #0000FF;">data</span> <span style="color: #008000;">==</span> t2.<span style="color: #0000FF;">data</span> <span style="color: #008000;">&amp;&amp;</span>
				IsSameTree<span style="color: #000000;">&#40;</span>t1.<span style="color: #0000FF;">left</span>, t2.<span style="color: #0000FF;">left</span><span style="color: #000000;">&#41;</span> <span style="color: #008000;">&amp;&amp;</span>
				IsSameTree<span style="color: #000000;">&#40;</span>t1.<span style="color: #0000FF;">right</span>, t2.<span style="color: #0000FF;">right</span><span style="color: #000000;">&#41;</span>
				<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
		<span style="color: #000000;">&#125;</span>
		<span style="color: #0600FF;">else</span> <span style="color: #0600FF;">return</span> <span style="color: #000000;">&#40;</span><span style="color: #0600FF;">false</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
	<span style="color: #000000;">&#125;</span>
&nbsp;
	<span style="color: #0600FF;">public</span> <span style="color: #0600FF;">void</span> PrintTreeLevelByLevel<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>
	<span style="color: #000000;">&#123;</span>
		PrintTreeLevelByLevel<span style="color: #000000;">&#40;</span>root<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
	<span style="color: #000000;">&#125;</span>
	<span style="color: #0600FF;">private</span> <span style="color: #0600FF;">void</span> PrintTreeLevelByLevel<span style="color: #000000;">&#40;</span>TreeNode root<span style="color: #000000;">&#41;</span>
	<span style="color: #000000;">&#123;</span>
		<span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>root <span style="color: #008000;">==</span> <span style="color: #0600FF;">null</span><span style="color: #000000;">&#41;</span> return<span style="color: #008000;">;</span>
		Queue q <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> Queue<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
		q.<span style="color: #0000FF;">Enqueue</span><span style="color: #000000;">&#40;</span>root<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
		<span style="color: #0600FF;">while</span> <span style="color: #000000;">&#40;</span>q.<span style="color: #0000FF;">Count</span> <span style="color: #008000;">&gt;</span> <span style="color: #FF0000;">0</span><span style="color: #000000;">&#41;</span>
		<span style="color: #000000;">&#123;</span>
			TreeNode b <span style="color: #008000;">=</span> <span style="color: #000000;">&#40;</span>TreeNode<span style="color: #000000;">&#41;</span>q.<span style="color: #0000FF;">Dequeue</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
			Console.<span style="color: #0000FF;">Write</span><span style="color: #000000;">&#40;</span>b.<span style="color: #0000FF;">data</span> <span style="color: #008000;">+</span> <span style="color: #666666;">&quot; &quot;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
			<span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>b.<span style="color: #0000FF;">left</span> <span style="color: #008000;">!=</span> <span style="color: #0600FF;">null</span><span style="color: #000000;">&#41;</span>
				q.<span style="color: #0000FF;">Enqueue</span><span style="color: #000000;">&#40;</span>b.<span style="color: #0000FF;">left</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
			<span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>b.<span style="color: #0000FF;">right</span> <span style="color: #008000;">!=</span> <span style="color: #0600FF;">null</span><span style="color: #000000;">&#41;</span>
				q.<span style="color: #0000FF;">Enqueue</span><span style="color: #000000;">&#40;</span>b.<span style="color: #0000FF;">right</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
		<span style="color: #000000;">&#125;</span>
	<span style="color: #000000;">&#125;</span>
&nbsp;
	<span style="color: #0600FF;">public</span> <span style="color: #FF0000;">bool</span> IsBST<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>
	<span style="color: #000000;">&#123;</span>
		<span style="color: #0600FF;">return</span> <span style="color: #000000;">&#40;</span>IsBST<span style="color: #000000;">&#40;</span>root, Int32.<span style="color: #0000FF;">MinValue</span>, Int32.<span style="color: #0000FF;">MinValue</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
	<span style="color: #000000;">&#125;</span>
	<span style="color: #0600FF;">private</span> <span style="color: #FF0000;">bool</span> IsBST<span style="color: #000000;">&#40;</span>TreeNode TreeNode, <span style="color: #FF0000;">int</span> min, <span style="color: #FF0000;">int</span> max<span style="color: #000000;">&#41;</span>
	<span style="color: #000000;">&#123;</span>
		<span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>TreeNode <span style="color: #008000;">==</span> <span style="color: #0600FF;">null</span><span style="color: #000000;">&#41;</span>
		<span style="color: #000000;">&#123;</span>
			<span style="color: #0600FF;">return</span> <span style="color: #000000;">&#40;</span><span style="color: #0600FF;">true</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
		<span style="color: #000000;">&#125;</span>
		<span style="color: #0600FF;">else</span>
		<span style="color: #000000;">&#123;</span>
			<span style="color: #FF0000;">bool</span> leftOk <span style="color: #008000;">=</span> IsBST<span style="color: #000000;">&#40;</span>TreeNode.<span style="color: #0000FF;">left</span>, min, TreeNode.<span style="color: #0000FF;">data</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
			<span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #008000;">!</span>leftOk<span style="color: #000000;">&#41;</span> <span style="color: #0600FF;">return</span> <span style="color: #000000;">&#40;</span><span style="color: #0600FF;">false</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
			<span style="color: #FF0000;">bool</span> rightOk <span style="color: #008000;">=</span> IsBST<span style="color: #000000;">&#40;</span>TreeNode.<span style="color: #0000FF;">right</span>, TreeNode.<span style="color: #0000FF;">data</span> <span style="color: #008000;">+</span> <span style="color: #FF0000;">1</span>, max<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
			<span style="color: #0600FF;">return</span> <span style="color: #000000;">&#40;</span>rightOk<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
		<span style="color: #000000;">&#125;</span>
	<span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #0600FF;">public</span> <span style="color: #FF0000;">class</span> TreeNode
<span style="color: #000000;">&#123;</span>
	<span style="color: #0600FF;">private</span> <span style="color: #FF0000;">int</span> _data<span style="color: #008000;">;</span>
	<span style="color: #0600FF;">private</span> TreeNode _left<span style="color: #008000;">;</span>
	<span style="color: #0600FF;">private</span> TreeNode _right<span style="color: #008000;">;</span>
&nbsp;
	<span style="color: #0600FF;">public</span> <span style="color: #FF0000;">int</span> data
	<span style="color: #000000;">&#123;</span>
		get
		<span style="color: #000000;">&#123;</span>
			<span style="color: #0600FF;">return</span> <span style="color: #0600FF;">this</span>._data<span style="color: #008000;">;</span>
		<span style="color: #000000;">&#125;</span>
		set
		<span style="color: #000000;">&#123;</span>
			<span style="color: #0600FF;">this</span>._data <span style="color: #008000;">=</span> value<span style="color: #008000;">;</span>
		<span style="color: #000000;">&#125;</span>
	<span style="color: #000000;">&#125;</span>
	<span style="color: #0600FF;">public</span> TreeNode left
	<span style="color: #000000;">&#123;</span>
		get
		<span style="color: #000000;">&#123;</span>
			<span style="color: #0600FF;">return</span> <span style="color: #0600FF;">this</span>._left<span style="color: #008000;">;</span>
		<span style="color: #000000;">&#125;</span>
		set
		<span style="color: #000000;">&#123;</span>
			<span style="color: #0600FF;">this</span>._left <span style="color: #008000;">=</span> value<span style="color: #008000;">;</span>
		<span style="color: #000000;">&#125;</span>
	<span style="color: #000000;">&#125;</span>
	<span style="color: #0600FF;">public</span> TreeNode right
	<span style="color: #000000;">&#123;</span>
		get
		<span style="color: #000000;">&#123;</span>
			<span style="color: #0600FF;">return</span> <span style="color: #0600FF;">this</span>._right<span style="color: #008000;">;</span>
		<span style="color: #000000;">&#125;</span>
		set
		<span style="color: #000000;">&#123;</span>
			<span style="color: #0600FF;">this</span>._right <span style="color: #008000;">=</span> value<span style="color: #008000;">;</span>
		<span style="color: #000000;">&#125;</span>
	<span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #000000;">&#125;</span></pre></div></td></tr></table></div>

<img src="http://eXclusiveMinds.Com/?ak_action=api_record_view&id=360&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://eXclusiveMinds.com/2009/12/12/binary-tree-implementation-in-c/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Finding Fullness quotient of a number</title>
		<link>http://eXclusiveMinds.com/2009/12/12/finding-fullness-quotient-of-a-number/</link>
		<comments>http://eXclusiveMinds.com/2009/12/12/finding-fullness-quotient-of-a-number/#comments</comments>
		<pubDate>Fri, 11 Dec 2009 18:54:59 +0000</pubDate>
		<dc:creator>eXclusiveMinds</dc:creator>
				<category><![CDATA[Inverview Tips]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[C#]]></category>

		<guid isPermaLink="false">http://eXclusiveMinds.com/?p=353</guid>
		<description><![CDATA[Define the fullness quotient of an integer n> 0 to be the number of representations of n in bases 2 through 9 that have no zeroes after the most significant digit, For example, to see why the fullness quotient of 94 is 6 examine the following table which shows the representations of 94 in bases [...]]]></description>
			<content:encoded><![CDATA[<p>Define the fullness quotient of an integer n> 0 to be the number of representations of n in bases 2 through 9 that have no zeroes after the most significant digit, For example, to see why the fullness quotient of 94 is 6 examine the following table which shows the representations of 94 in bases 2 through 9. <span id="more-353"></span></p>

<div class="wp_syntax"><table><tr><td><div class="code"><pre class="csharp" style="font-family:Consolas; monospace;"><span style="color: #0600FF;">base</span><span style="color: #008000;">:</span> <span style="color: #FF0000;">2</span> representation of <span style="color: #FF0000;">94</span><span style="color: #008000;">:</span> <span style="color: #FF0000;">1011110</span><span style="color: #000000;">&#40;</span><span style="color: #FF0000;">2</span> <span style="color: #008000;">^</span> <span style="color: #FF0000;">6</span> <span style="color: #008000;">+</span> <span style="color: #FF0000;">2</span> <span style="color: #008000;">^</span> <span style="color: #FF0000;">4</span> <span style="color: #008000;">+</span> <span style="color: #FF0000;">2</span> <span style="color: #008000;">^</span> <span style="color: #FF0000;">3</span> <span style="color: #008000;">+</span> <span style="color: #FF0000;">2</span> <span style="color: #008000;">^</span> <span style="color: #FF0000;">2</span> <span style="color: #008000;">+</span> <span style="color: #FF0000;">2</span> <span style="color: #008000;">^</span> <span style="color: #FF0000;">1</span> <span style="color: #008000;">=</span> <span style="color: #FF0000;">94</span><span style="color: #000000;">&#41;</span>
<span style="color: #0600FF;">base</span><span style="color: #008000;">:</span> <span style="color: #FF0000;">3</span> representation of <span style="color: #FF0000;">94</span><span style="color: #008000;">:</span> <span style="color: #FF0000;">10111</span><span style="color: #000000;">&#40;</span><span style="color: #FF0000;">3</span> <span style="color: #008000;">^</span> <span style="color: #FF0000;">4</span> <span style="color: #008000;">+</span> <span style="color: #FF0000;">3</span> <span style="color: #008000;">^</span> <span style="color: #FF0000;">2</span> <span style="color: #008000;">+</span> <span style="color: #FF0000;">3</span> <span style="color: #008000;">^</span> <span style="color: #FF0000;">1</span> <span style="color: #008000;">+</span> <span style="color: #FF0000;">3</span> <span style="color: #008000;">^</span> <span style="color: #FF0000;">0</span> <span style="color: #008000;">=</span> <span style="color: #FF0000;">94</span><span style="color: #000000;">&#41;</span> 
<span style="color: #0600FF;">base</span><span style="color: #008000;">:</span> <span style="color: #FF0000;">4</span> representation of <span style="color: #FF0000;">94</span><span style="color: #008000;">:</span> <span style="color: #FF0000;">1132</span><span style="color: #000000;">&#40;</span><span style="color: #FF0000;">4</span> <span style="color: #008000;">^</span> <span style="color: #FF0000;">3</span> <span style="color: #008000;">+</span> <span style="color: #FF0000;">4</span> <span style="color: #008000;">^</span> <span style="color: #FF0000;">2</span> <span style="color: #008000;">+</span> <span style="color: #FF0000;">3</span> <span style="color: #008000;">*</span> <span style="color: #FF0000;">4</span> <span style="color: #008000;">^</span> <span style="color: #FF0000;">1</span> <span style="color: #008000;">+</span> <span style="color: #FF0000;">2</span> <span style="color: #008000;">*</span> <span style="color: #FF0000;">4</span> <span style="color: #008000;">^</span> <span style="color: #FF0000;">0</span> <span style="color: #008000;">=</span> <span style="color: #FF0000;">94</span> <span style="color: #000000;">&#41;</span>
<span style="color: #0600FF;">base</span><span style="color: #008000;">:</span> <span style="color: #FF0000;">5</span> representation of <span style="color: #FF0000;">94</span><span style="color: #008000;">:</span> <span style="color: #FF0000;">334</span><span style="color: #000000;">&#40;</span><span style="color: #FF0000;">3</span> <span style="color: #008000;">*</span> <span style="color: #FF0000;">5</span> <span style="color: #008000;">^</span> <span style="color: #FF0000;">2</span> <span style="color: #008000;">+</span> <span style="color: #FF0000;">3</span> <span style="color: #008000;">*</span> <span style="color: #FF0000;">5</span> <span style="color: #008000;">^</span> <span style="color: #FF0000;">1</span> <span style="color: #008000;">+</span> <span style="color: #FF0000;">4</span> <span style="color: #008000;">*</span> <span style="color: #FF0000;">4</span> <span style="color: #008000;">^</span> <span style="color: #FF0000;">0</span> <span style="color: #008000;">=</span> <span style="color: #FF0000;">94</span><span style="color: #000000;">&#41;</span> 
<span style="color: #0600FF;">base</span><span style="color: #008000;">:</span> <span style="color: #FF0000;">6</span> representation of <span style="color: #FF0000;">94</span><span style="color: #008000;">:</span> <span style="color: #FF0000;">234</span><span style="color: #000000;">&#40;</span><span style="color: #FF0000;">2</span> <span style="color: #008000;">*</span> <span style="color: #FF0000;">6</span> <span style="color: #008000;">^</span> <span style="color: #FF0000;">2</span> <span style="color: #008000;">+</span> <span style="color: #FF0000;">3</span> <span style="color: #008000;">*</span> <span style="color: #FF0000;">6</span> <span style="color: #008000;">^</span> <span style="color: #FF0000;">1</span> <span style="color: #008000;">+</span> <span style="color: #FF0000;">4</span> <span style="color: #008000;">*</span> <span style="color: #FF0000;">6</span> <span style="color: #008000;">^</span> <span style="color: #FF0000;">0</span> <span style="color: #008000;">=</span> <span style="color: #FF0000;">94</span><span style="color: #000000;">&#41;</span> 
<span style="color: #0600FF;">base</span><span style="color: #008000;">:</span> <span style="color: #FF0000;">7</span> representation of <span style="color: #FF0000;">94</span><span style="color: #008000;">:</span> <span style="color: #FF0000;">163</span><span style="color: #000000;">&#40;</span><span style="color: #FF0000;">1</span> <span style="color: #008000;">*</span> <span style="color: #FF0000;">7</span> <span style="color: #008000;">^</span> <span style="color: #FF0000;">2</span> <span style="color: #008000;">+</span> <span style="color: #FF0000;">6</span> <span style="color: #008000;">*</span> <span style="color: #FF0000;">7</span> <span style="color: #008000;">^</span> <span style="color: #FF0000;">1</span> <span style="color: #008000;">+</span> <span style="color: #FF0000;">3</span> <span style="color: #008000;">*</span> <span style="color: #FF0000;">7</span> <span style="color: #008000;">^</span> <span style="color: #FF0000;">0</span> <span style="color: #008000;">=</span> <span style="color: #FF0000;">94</span><span style="color: #000000;">&#41;</span> 
<span style="color: #0600FF;">base</span><span style="color: #008000;">:</span> <span style="color: #FF0000;">8</span> representation of <span style="color: #FF0000;">94</span><span style="color: #008000;">:</span> <span style="color: #FF0000;">136</span><span style="color: #000000;">&#40;</span><span style="color: #FF0000;">1</span> <span style="color: #008000;">*</span> <span style="color: #FF0000;">8</span> <span style="color: #008000;">^</span> <span style="color: #FF0000;">2</span> <span style="color: #008000;">+</span> <span style="color: #FF0000;">3</span> <span style="color: #008000;">*</span> <span style="color: #FF0000;">8</span> <span style="color: #008000;">^</span> <span style="color: #FF0000;">1</span> <span style="color: #008000;">+</span> <span style="color: #FF0000;">6</span> <span style="color: #008000;">*</span> <span style="color: #FF0000;">8</span> <span style="color: #008000;">^</span> <span style="color: #FF0000;">0</span> <span style="color: #008000;">=</span> <span style="color: #FF0000;">94</span><span style="color: #000000;">&#41;</span> 
<span style="color: #0600FF;">base</span><span style="color: #008000;">:</span> <span style="color: #FF0000;">9</span> representation of <span style="color: #FF0000;">94</span><span style="color: #008000;">:</span> <span style="color: #FF0000;">114</span><span style="color: #000000;">&#40;</span><span style="color: #FF0000;">1</span> <span style="color: #008000;">*</span> <span style="color: #FF0000;">9</span> <span style="color: #008000;">^</span> <span style="color: #FF0000;">2</span> <span style="color: #008000;">+</span> <span style="color: #FF0000;">1</span> <span style="color: #008000;">*</span> <span style="color: #FF0000;">9</span> <span style="color: #008000;">^</span> <span style="color: #FF0000;">1</span> <span style="color: #008000;">+</span> <span style="color: #FF0000;">4</span> <span style="color: #008000;">*</span> <span style="color: #FF0000;">9</span> <span style="color: #008000;">^</span> <span style="color: #FF0000;">0</span> <span style="color: #008000;">=</span> <span style="color: #FF0000;">94</span><span style="color: #000000;">&#41;</span></pre></div></td></tr></table></div>

<p>Notice that the representations of 94 in base 2 and 3 both have 0s after the most significant digit, but the representations in bases 4,5, 6, 7, 8, 9 do not. Since there are 6 such representations, the fullness quotient of 94 is 6 </p>
<p>Write a method named fullnessQuotient that returns the fullness quotient of its argument. If the argument is less than 1 return -1. Its signature is<br />
int fullnessQuotient (int n)<br />
Hint: use modulo and integer arithmetic to convert n to its various representations </p>
<p>Example:</p>

<div class="wp_syntax"><table><tr><td><div class="code"><pre class="csharp" style="font-family:Consolas; monospace;"><span style="color: #0600FF;">if</span> n <span style="color: #008000;">is</span><span style="color: #008000;">:</span> <span style="color: #FF0000;">1</span> <span style="color: #0600FF;">return</span><span style="color: #008000;">:</span> <span style="color: #FF0000;">8</span>, because<span style="color: #008000;">:</span> Because all of its representations <span style="color: #0600FF;">do</span> not have a <span style="color: #FF0000;">0</span> after the most significant digit<span style="color: #008000;">:</span> <span style="color: #FF0000;">2</span><span style="color: #008000;">:</span><span style="color: #FF0000;">1</span>,<span style="color: #FF0000;">3</span><span style="color: #008000;">:</span><span style="color: #FF0000;">1</span>,<span style="color: #FF0000;">4</span><span style="color: #008000;">:</span><span style="color: #FF0000;">1</span>,<span style="color: #FF0000;">5</span><span style="color: #008000;">:</span><span style="color: #FF0000;">1</span>,<span style="color: #FF0000;">6</span> <span style="color: #008000;">:</span> <span style="color: #FF0000;">1</span>,<span style="color: #FF0000;">7</span><span style="color: #008000;">:</span><span style="color: #FF0000;">1</span>,<span style="color: #FF0000;">8</span><span style="color: #008000;">:</span><span style="color: #FF0000;">1</span>,<span style="color: #FF0000;">9</span><span style="color: #008000;">:</span><span style="color: #FF0000;">1</span> 
<span style="color: #0600FF;">if</span> n <span style="color: #008000;">is</span><span style="color: #008000;">:</span> <span style="color: #FF0000;">9</span> <span style="color: #0600FF;">return</span><span style="color: #008000;">:</span> <span style="color: #FF0000;">5</span>, because<span style="color: #008000;">:</span> Because <span style="color: #FF0000;">5</span> of the representations <span style="color: #000000;">&#40;</span><span style="color: #FF0000;">4</span>, <span style="color: #FF0000;">5</span>, <span style="color: #FF0000;">6</span>, <span style="color: #FF0000;">7</span>, <span style="color: #FF0000;">8</span><span style="color: #000000;">&#41;</span> <span style="color: #0600FF;">do</span> not have a <span style="color: #FF0000;">0</span> after the most significant digit<span style="color: #008000;">:</span> <span style="color: #FF0000;">2</span><span style="color: #008000;">:</span><span style="color: #FF0000;">1001</span>,<span style="color: #FF0000;">3</span><span style="color: #008000;">:</span> <span style="color: #FF0000;">100</span>,<span style="color: #FF0000;">4</span><span style="color: #008000;">:</span><span style="color: #FF0000;">21</span>,<span style="color: #FF0000;">5</span><span style="color: #008000;">:</span><span style="color: #FF0000;">14</span>,<span style="color: #FF0000;">6</span><span style="color: #008000;">:</span><span style="color: #FF0000;">13</span>,<span style="color: #FF0000;">7</span><span style="color: #008000;">:</span><span style="color: #FF0000;">12</span>,<span style="color: #FF0000;">8</span><span style="color: #008000;">:</span><span style="color: #FF0000;">11</span>,<span style="color: #FF0000;">9</span><span style="color: #008000;">:</span><span style="color: #FF0000;">10</span> 
<span style="color: #0600FF;">if</span> n <span style="color: #008000;">is</span><span style="color: #008000;">:</span> <span style="color: #FF0000;">360</span> <span style="color: #0600FF;">return</span><span style="color: #008000;">:</span> <span style="color: #FF0000;">0</span>, because<span style="color: #008000;">:</span> All its representations have a <span style="color: #FF0000;">0</span> after the most significant digit<span style="color: #008000;">:</span> <span style="color: #FF0000;">2</span><span style="color: #008000;">:</span><span style="color: #FF0000;">101101000</span>,<span style="color: #FF0000;">3</span><span style="color: #008000;">:</span><span style="color: #FF0000;">111100</span>,<span style="color: #FF0000;">4</span><span style="color: #008000;">:</span><span style="color: #FF0000;">11220</span>,<span style="color: #FF0000;">5</span><span style="color: #008000;">:</span><span style="color: #FF0000;">2420</span>,<span style="color: #FF0000;">6</span><span style="color: #008000;">:</span><span style="color: #FF0000;">1400</span>,<span style="color: #FF0000;">7</span> <span style="color: #008000;">:</span> <span style="color: #FF0000;">1023</span>,<span style="color: #FF0000;">8</span><span style="color: #008000;">:</span><span style="color: #FF0000;">550</span>,<span style="color: #FF0000;">9</span><span style="color: #008000;">:</span><span style="color: #FF0000;">440</span> 
<span style="color: #0600FF;">if</span> n <span style="color: #008000;">is</span><span style="color: #008000;">:</span> <span style="color: #008000;">-</span><span style="color: #FF0000;">4</span> <span style="color: #0600FF;">return</span><span style="color: #008000;">:</span> <span style="color: #008000;">-</span><span style="color: #FF0000;">1</span>, because<span style="color: #008000;">:</span> The argument must be<span style="color: #008000;">&gt;</span> <span style="color: #FF0000;">0</span></pre></div></td></tr></table></div>


<div class="wp_syntax"><table><tr><td><div class="code"><pre class="csharp" style="font-family:Consolas; monospace;"><span style="color: #FF0000;">class</span> Program
<span style="color: #000000;">&#123;</span>
    <span style="color: #0600FF;">static</span> <span style="color: #0600FF;">void</span> Main<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">string</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> args<span style="color: #000000;">&#41;</span>
    <span style="color: #000000;">&#123;</span>
        Console.<span style="color: #0000FF;">WriteLine</span><span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;Fullness Quotient: &quot;</span><span style="color: #008000;">+</span>fullnessQuotient<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">9</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
    <span style="color: #000000;">&#125;</span>
&nbsp;
    <span style="color: #0600FF;">static</span> <span style="color: #FF0000;">int</span> fullnessQuotient<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">int</span> n<span style="color: #000000;">&#41;</span>
             <span style="color: #000000;">&#123;</span>
                     <span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>n <span style="color: #008000;">&lt;</span><span style="color: #FF0000;">1</span><span style="color: #000000;">&#41;</span>
                             <span style="color: #0600FF;">return</span> <span style="color: #008000;">-</span><span style="color: #FF0000;">1</span><span style="color: #008000;">;</span>
                     <span style="color: #FF0000;">int</span> count <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span>
&nbsp;
                     <span style="color: #0600FF;">for</span> <span style="color: #000000;">&#40;</span><span style="color: #FF0000;">int</span> i <span style="color: #008000;">=</span> <span style="color: #FF0000;">2</span><span style="color: #008000;">;</span> i <span style="color: #008000;">&lt;</span><span style="color: #FF0000;">10</span><span style="color: #008000;">;</span> i<span style="color: #008000;">++</span><span style="color: #000000;">&#41;</span>
                     <span style="color: #000000;">&#123;</span>
                             <span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>isFullQuotient <span style="color: #000000;">&#40;</span>n, i<span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span>
                                     count<span style="color: #008000;">++;</span>
                     <span style="color: #000000;">&#125;</span>
&nbsp;
                     <span style="color: #0600FF;">return</span> count<span style="color: #008000;">;</span>
             <span style="color: #000000;">&#125;</span>
&nbsp;
    <span style="color: #0600FF;">private</span> <span style="color: #0600FF;">static</span> <span style="color: #FF0000;">bool</span> isFullQuotient<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">int</span> n, <span style="color: #FF0000;">int</span> b<span style="color: #000000;">&#41;</span>
             <span style="color: #000000;">&#123;</span>
                     <span style="color: #FF0000;">int</span> number <span style="color: #008000;">=</span> n<span style="color: #008000;">;</span>
                     <span style="color: #0600FF;">do</span>
                     <span style="color: #000000;">&#123;</span>
                             <span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>number<span style="color: #008000;">%</span> b <span style="color: #008000;">==</span> <span style="color: #FF0000;">0</span><span style="color: #000000;">&#41;</span>
                                     <span style="color: #0600FF;">return</span> false<span style="color: #008000;">;</span>
                     <span style="color: #000000;">&#125;</span><span style="color: #0600FF;">while</span> <span style="color: #000000;">&#40;</span><span style="color: #000000;">&#40;</span>number <span style="color: #008000;">/=</span>b<span style="color: #000000;">&#41;</span><span style="color: #008000;">!=</span> <span style="color: #FF0000;">0</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
                     <span style="color: #0600FF;">return</span> true<span style="color: #008000;">;</span>
             <span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span></pre></div></td></tr></table></div>

<p>OUTPUT:</p>

<div class="wp_syntax"><table><tr><td><div class="code"><pre class="csharp" style="font-family:Consolas; monospace;">Fullness Quotient<span style="color: #008000;">:</span> <span style="color: #FF0000;">5</span></pre></div></td></tr></table></div>

<img src="http://eXclusiveMinds.Com/?ak_action=api_record_view&id=353&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://eXclusiveMinds.com/2009/12/12/finding-fullness-quotient-of-a-number/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>KMP String Searching Algorithm in C#</title>
		<link>http://eXclusiveMinds.com/2009/12/09/kmp-string-searching-algorithm-in-c/</link>
		<comments>http://eXclusiveMinds.com/2009/12/09/kmp-string-searching-algorithm-in-c/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 23:08:20 +0000</pubDate>
		<dc:creator>eXclusiveMinds</dc:creator>
				<category><![CDATA[Inverview Tips]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[KMP]]></category>

		<guid isPermaLink="false">http://eXclusiveMinds.com/?p=351</guid>
		<description><![CDATA[We&#8217;ve C# example of KMP (Knuth–Morris–Pratt) string serching algorithm.


/// &#60;summary&#62;
/// C# Implementation of KMP Algorithm
/// &#60;/summary&#62;
/// &#60;param name=&#34;w&#34;&#62;Search String&#60;/param&#62;
/// &#60;param name=&#34;s&#34;&#62;Main String&#60;/param&#62;
/// &#60;returns&#62;&#60;/returns&#62;
public int SearchKMP&#40;char&#91;&#93; w, char&#91;&#93; s&#41;
&#123;
	int m = 0;
	int i = 0;
	int&#91;&#93; t = new int&#91;w.Length&#93;;
&#160;
	while &#40;&#40;&#40;m + i&#41; &#60; s.Length&#41; &#38;&#38; &#40;i &#60; w.Length&#41;&#41;
	&#123;
		if &#40;s&#91;m + i&#93; == w&#91;i&#93;&#41; i++;
		else
		&#123;
			m += i [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve C# example of KMP (Knuth–Morris–Pratt) string serching algorithm.<br />
<span id="more-351"></span></p>

<div class="wp_syntax"><table><tr><td><div class="code"><pre class="csharp" style="font-family:Consolas; monospace;"><span style="color: #008080; font-style: italic;">/// &lt;summary&gt;</span>
<span style="color: #008080; font-style: italic;">/// C# Implementation of KMP Algorithm</span>
<span style="color: #008080; font-style: italic;">/// &lt;/summary&gt;</span>
<span style="color: #008080; font-style: italic;">/// &lt;param name=&quot;w&quot;&gt;Search String&lt;/param&gt;</span>
<span style="color: #008080; font-style: italic;">/// &lt;param name=&quot;s&quot;&gt;Main String&lt;/param&gt;</span>
<span style="color: #008080; font-style: italic;">/// &lt;returns&gt;&lt;/returns&gt;</span>
<span style="color: #0600FF;">public</span> <span style="color: #FF0000;">int</span> SearchKMP<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">char</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> w, <span style="color: #FF0000;">char</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> s<span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#123;</span>
	<span style="color: #FF0000;">int</span> m <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span>
	<span style="color: #FF0000;">int</span> i <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span>
	<span style="color: #FF0000;">int</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> t <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> <span style="color: #FF0000;">int</span><span style="color: #000000;">&#91;</span>w.<span style="color: #0000FF;">Length</span><span style="color: #000000;">&#93;</span><span style="color: #008000;">;</span>
&nbsp;
	<span style="color: #0600FF;">while</span> <span style="color: #000000;">&#40;</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#40;</span>m <span style="color: #008000;">+</span> i<span style="color: #000000;">&#41;</span> <span style="color: #008000;">&lt;</span> s.<span style="color: #0000FF;">Length</span><span style="color: #000000;">&#41;</span> <span style="color: #008000;">&amp;&amp;</span> <span style="color: #000000;">&#40;</span>i <span style="color: #008000;">&lt;</span> w.<span style="color: #0000FF;">Length</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span>
	<span style="color: #000000;">&#123;</span>
		<span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>s<span style="color: #000000;">&#91;</span>m <span style="color: #008000;">+</span> i<span style="color: #000000;">&#93;</span> <span style="color: #008000;">==</span> w<span style="color: #000000;">&#91;</span>i<span style="color: #000000;">&#93;</span><span style="color: #000000;">&#41;</span> i<span style="color: #008000;">++;</span>
		<span style="color: #0600FF;">else</span>
		<span style="color: #000000;">&#123;</span>
			m <span style="color: #008000;">+=</span> i <span style="color: #008000;">-</span> t<span style="color: #000000;">&#91;</span>i<span style="color: #000000;">&#93;</span><span style="color: #008000;">;</span>
			<span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>i <span style="color: #008000;">&gt;</span> <span style="color: #FF0000;">0</span><span style="color: #000000;">&#41;</span> i <span style="color: #008000;">=</span> t<span style="color: #000000;">&#91;</span>i<span style="color: #000000;">&#93;</span><span style="color: #008000;">;</span>
			i<span style="color: #008000;">++;</span>
		<span style="color: #000000;">&#125;</span>
	<span style="color: #000000;">&#125;</span>
	<span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>i <span style="color: #008000;">==</span> w.<span style="color: #0000FF;">Length</span><span style="color: #000000;">&#41;</span> <span style="color: #0600FF;">return</span> m<span style="color: #008000;">;</span>
	<span style="color: #0600FF;">else</span> <span style="color: #0600FF;">return</span> <span style="color: #008000;">-</span><span style="color: #FF0000;">1</span><span style="color: #008000;">;</span>
<span style="color: #000000;">&#125;</span></pre></div></td></tr></table></div>

<p>Testing it:</p>

<div class="wp_syntax"><table><tr><td><div class="code"><pre class="csharp" style="font-family:Consolas; monospace;"><span style="color: #0600FF;">static</span> <span style="color: #0600FF;">void</span> Main<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">string</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> args<span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#123;</span>
	<span style="color: #FF0000;">int</span> foundPosition<span style="color: #008000;">=</span>SearchKMP<span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;eXclusiveMinds&quot;</span>.<span style="color: #0000FF;">ToCharArray</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span> ,<span style="color: #666666;">&quot;01eXclusiveMinds&quot;</span>.<span style="color: #0000FF;">ToCharArray</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
	Console.<span style="color: #0000FF;">WriteLine</span><span style="color: #000000;">&#40;</span>foundPosition<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
<span style="color: #000000;">&#125;</span></pre></div></td></tr></table></div>

<p>OUTPUT:</p>

<div class="wp_syntax"><table><tr><td><div class="code"><pre class="csharp" style="font-family:Consolas; monospace;"><span style="color: #FF0000;">String</span> Found at index<span style="color: #008000;">:</span> <span style="color: #FF0000;">2</span></pre></div></td></tr></table></div>

<img src="http://eXclusiveMinds.Com/?ak_action=api_record_view&id=351&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://eXclusiveMinds.com/2009/12/09/kmp-string-searching-algorithm-in-c/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Program to reverse sentence word by word using C#</title>
		<link>http://eXclusiveMinds.com/2009/12/09/program-to-reverse-sentence-word-by-word-using-c/</link>
		<comments>http://eXclusiveMinds.com/2009/12/09/program-to-reverse-sentence-word-by-word-using-c/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 18:40:21 +0000</pubDate>
		<dc:creator>eXclusiveMinds</dc:creator>
				<category><![CDATA[Inverview Tips]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Sentence Reverse]]></category>
		<category><![CDATA[String]]></category>
		<category><![CDATA[String Reverse]]></category>

		<guid isPermaLink="false">http://eXclusiveMinds.com/2009/12/09/program-to-reverse-word-by-word-using-c/</guid>
		<description><![CDATA[This example shows how can we reverse a sentence word by word. For example; If we have string &#8220;This is an eXclusiveMinds article&#8221; output should be &#8220;article eXclusiveMinds an is This&#8221;. For this we have two methods ReverseWordByWord and Reverse (this is helper method to reverse string character by character).
This is also one of the [...]]]></description>
			<content:encoded><![CDATA[<p>This example shows how can we reverse a sentence word by word. For example; If we have string &#8220;This is an eXclusiveMinds article&#8221; output should be &#8220;article eXclusiveMinds an is This&#8221;. For this we have two methods ReverseWordByWord and Reverse (this is helper method to reverse string character by character).<br />
This is also one of the most frequently asked interview question in Microsoft, Google and Amazon for position of Software Design/Development Engineer (or Test).<br />
<span id="more-347"></span></p>

<div class="wp_syntax"><table><tr><td><div class="code"><pre class="csharp" style="font-family:Consolas; monospace;"><span style="color: #008080; font-style: italic;">/// &lt;summary&gt;</span>
<span style="color: #008080; font-style: italic;">/// Function to reverse sentence word by word</span>
<span style="color: #008080; font-style: italic;">/// &lt;/summary&gt;</span>
<span style="color: #008080; font-style: italic;">/// &lt;param name=&quot;sentence&quot;&gt;string (sentence)&lt;/param&gt;</span>
<span style="color: #008080; font-style: italic;">/// &lt;returns&gt;reversed string by word&lt;/returns&gt;</span>
<span style="color: #0600FF;">public</span> <span style="color: #FF0000;">string</span> ReverseWordByWord<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">string</span> sentence<span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#123;</span>
	<span style="color: #FF0000;">char</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> str <span style="color: #008000;">=</span> sentence.<span style="color: #0000FF;">ToCharArray</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
	str <span style="color: #008000;">=</span> Reverse<span style="color: #000000;">&#40;</span>str, <span style="color: #FF0000;">0</span>, str.<span style="color: #0000FF;">Length</span> <span style="color: #008000;">-</span> <span style="color: #FF0000;">1</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
	<span style="color: #FF0000;">int</span> start <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span>, end <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span>
	<span style="color: #0600FF;">for</span> <span style="color: #000000;">&#40;</span><span style="color: #FF0000;">int</span> i <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span> i <span style="color: #008000;">&lt;</span> str.<span style="color: #0000FF;">Length</span><span style="color: #008000;">;</span> i<span style="color: #008000;">++</span><span style="color: #000000;">&#41;</span>
	<span style="color: #000000;">&#123;</span>
		<span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>str<span style="color: #000000;">&#91;</span>i<span style="color: #000000;">&#93;</span> <span style="color: #008000;">==</span> <span style="color: #666666;">' '</span><span style="color: #000000;">&#41;</span>
		<span style="color: #000000;">&#123;</span>
			end <span style="color: #008000;">=</span> i <span style="color: #008000;">-</span> <span style="color: #FF0000;">1</span><span style="color: #008000;">;</span>
			str <span style="color: #008000;">=</span> Reverse<span style="color: #000000;">&#40;</span>str, start, end<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
			start <span style="color: #008000;">=</span> i <span style="color: #008000;">+</span> <span style="color: #FF0000;">1</span><span style="color: #008000;">;</span>
		<span style="color: #000000;">&#125;</span>
	<span style="color: #000000;">&#125;</span>
&nbsp;
	<span style="color: #008080; font-style: italic;">//For Last word</span>
	end <span style="color: #008000;">=</span> str.<span style="color: #0000FF;">Length</span> <span style="color: #008000;">-</span> <span style="color: #FF0000;">1</span><span style="color: #008000;">;</span>
	str <span style="color: #008000;">=</span> Reverse<span style="color: #000000;">&#40;</span>str, start, end<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
	<span style="color: #0600FF;">return</span> <span style="color: #008000;">new</span> <span style="color: #FF0000;">string</span><span style="color: #000000;">&#40;</span>str<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
<span style="color: #000000;">&#125;</span></pre></div></td></tr></table></div>

<p>This method is helper function which will reverse a string character by character.</p>

<div class="wp_syntax"><table><tr><td><div class="code"><pre class="csharp" style="font-family:Consolas; monospace;"><span style="color: #008080; font-style: italic;">/// &lt;summary&gt;</span>
<span style="color: #008080; font-style: italic;">/// Helper method to reverse string character by character.</span>
<span style="color: #008080; font-style: italic;">/// &lt;/summary&gt;</span>
<span style="color: #008080; font-style: italic;">/// &lt;param name=&quot;str&quot;&gt;string to be reversed&lt;/param&gt;</span>
<span style="color: #008080; font-style: italic;">/// &lt;param name=&quot;start&quot;&gt;start index&lt;/param&gt;</span>
<span style="color: #008080; font-style: italic;">/// &lt;param name=&quot;end&quot;&gt;end index&lt;/param&gt;</span>
<span style="color: #008080; font-style: italic;">/// &lt;returns&gt;reversed string&lt;/returns&gt;</span>
<span style="color: #0600FF;">public</span> <span style="color: #FF0000;">char</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> Reverse<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">char</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> str, <span style="color: #FF0000;">int</span> start, <span style="color: #FF0000;">int</span> end<span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#123;</span>
	<span style="color: #0600FF;">while</span> <span style="color: #000000;">&#40;</span>end <span style="color: #008000;">&gt;</span> start<span style="color: #000000;">&#41;</span>
	<span style="color: #000000;">&#123;</span>
		str<span style="color: #000000;">&#91;</span>start<span style="color: #000000;">&#93;</span> <span style="color: #008000;">^=</span> str<span style="color: #000000;">&#91;</span>end<span style="color: #000000;">&#93;</span><span style="color: #008000;">;</span>
		str<span style="color: #000000;">&#91;</span>end<span style="color: #000000;">&#93;</span> <span style="color: #008000;">^=</span> str<span style="color: #000000;">&#91;</span>start<span style="color: #000000;">&#93;</span><span style="color: #008000;">;</span>
		str<span style="color: #000000;">&#91;</span>start<span style="color: #000000;">&#93;</span> <span style="color: #008000;">^=</span> str<span style="color: #000000;">&#91;</span>end<span style="color: #000000;">&#93;</span><span style="color: #008000;">;</span>
		end<span style="color: #008000;">--;</span>
		start<span style="color: #008000;">++;</span>
	<span style="color: #000000;">&#125;</span>
	<span style="color: #0600FF;">return</span> str<span style="color: #008000;">;</span>
<span style="color: #000000;">&#125;</span></pre></div></td></tr></table></div>

<p>Testing This Method:</p>

<div class="wp_syntax"><table><tr><td><div class="code"><pre class="csharp" style="font-family:Consolas; monospace;"><span style="color: #FF0000;">string</span> output<span style="color: #008000;">=</span>ReverseWordByWord<span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;This is an eXclusiveMinds article&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
Console.<span style="color: #0000FF;">WriteLine</span><span style="color: #000000;">&#40;</span>output<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span></pre></div></td></tr></table></div>

<p>OUTPUT:</p>

<div class="wp_syntax"><table><tr><td><div class="code"><pre class="csharp" style="font-family:Consolas; monospace;"><span style="color: #008080; font-style: italic;">//input: This is an eXclusiveMinds article</span>
article eXclusiveMinds an <span style="color: #008000;">is</span> <span style="color: #0600FF;">This</span></pre></div></td></tr></table></div>

<img src="http://eXclusiveMinds.Com/?ak_action=api_record_view&id=347&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://eXclusiveMinds.com/2009/12/09/program-to-reverse-sentence-word-by-word-using-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Remove Duplicate from Array with C#</title>
		<link>http://eXclusiveMinds.com/2009/12/08/remove-duplicate-from-array-with-c/</link>
		<comments>http://eXclusiveMinds.com/2009/12/08/remove-duplicate-from-array-with-c/#comments</comments>
		<pubDate>Mon, 07 Dec 2009 22:13:37 +0000</pubDate>
		<dc:creator>eXclusiveMinds</dc:creator>
				<category><![CDATA[Inverview Tips]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[Array]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Remove Duplicate]]></category>

		<guid isPermaLink="false">http://eXclusiveMinds.com/?p=344</guid>
		<description><![CDATA[This is one of the most frequently asked interview question. This question usually asked for interview of Software Engineer/Test Engineer in Microsoft, Google, Amazon.
We&#8217;ve 3 simple solution for this question.


/// &#60;summary&#62;
/// This method removes duplicate from integer array
/// &#60;/summary&#62;
/// &#60;param name=&#34;a&#34;&#62;input array&#60;/param&#62;
/// &#60;returns&#62;integer array with no duplicate&#60;/returns&#62;
public int&#91;&#93; RemoveUsingHash&#40;int&#91;&#93; a&#41;
&#123;
	Hashtable ht = new Hashtable&#40;&#41;;
	for &#40;int [...]]]></description>
			<content:encoded><![CDATA[<p>This is one of the most frequently asked interview question. This question usually asked for interview of Software Engineer/Test Engineer in Microsoft, Google, Amazon.<br />
We&#8217;ve 3 simple solution for this question.<br />
<span id="more-344"></span></p>

<div class="wp_syntax"><table><tr><td><div class="code"><pre class="csharp" style="font-family:Consolas; monospace;"><span style="color: #008080; font-style: italic;">/// &lt;summary&gt;</span>
<span style="color: #008080; font-style: italic;">/// This method removes duplicate from integer array</span>
<span style="color: #008080; font-style: italic;">/// &lt;/summary&gt;</span>
<span style="color: #008080; font-style: italic;">/// &lt;param name=&quot;a&quot;&gt;input array&lt;/param&gt;</span>
<span style="color: #008080; font-style: italic;">/// &lt;returns&gt;integer array with no duplicate&lt;/returns&gt;</span>
<span style="color: #0600FF;">public</span> <span style="color: #FF0000;">int</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> RemoveUsingHash<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">int</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> a<span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#123;</span>
	Hashtable ht <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> Hashtable<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
	<span style="color: #0600FF;">for</span> <span style="color: #000000;">&#40;</span><span style="color: #FF0000;">int</span> i <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span> i <span style="color: #008000;">&lt;</span> a.<span style="color: #0000FF;">Length</span><span style="color: #008000;">;</span> i<span style="color: #008000;">++</span><span style="color: #000000;">&#41;</span>
	<span style="color: #000000;">&#123;</span>
		<span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #008000;">!</span>ht.<span style="color: #0000FF;">ContainsKey</span><span style="color: #000000;">&#40;</span>a<span style="color: #000000;">&#91;</span>i<span style="color: #000000;">&#93;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span>
		<span style="color: #000000;">&#123;</span>
			ht.<span style="color: #0000FF;">Add</span><span style="color: #000000;">&#40;</span>a<span style="color: #000000;">&#91;</span>i<span style="color: #000000;">&#93;</span>, a<span style="color: #000000;">&#91;</span>i<span style="color: #000000;">&#93;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
		<span style="color: #000000;">&#125;</span>
	<span style="color: #000000;">&#125;</span>
	<span style="color: #FF0000;">int</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> output <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> <span style="color: #FF0000;">int</span><span style="color: #000000;">&#91;</span>ht.<span style="color: #0000FF;">Count</span><span style="color: #000000;">&#93;</span><span style="color: #008000;">;</span>
	<span style="color: #FF0000;">int</span> j <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span>
	<span style="color: #0600FF;">foreach</span> <span style="color: #000000;">&#40;</span><span style="color: #FF0000;">int</span> item <span style="color: #0600FF;">in</span> ht.<span style="color: #0000FF;">Keys</span><span style="color: #000000;">&#41;</span>
	<span style="color: #000000;">&#123;</span>
		output<span style="color: #000000;">&#91;</span>j<span style="color: #008000;">++</span><span style="color: #000000;">&#93;</span> <span style="color: #008000;">=</span> item<span style="color: #008000;">;</span>
	<span style="color: #000000;">&#125;</span>
	<span style="color: #0600FF;">return</span> output<span style="color: #008000;">;</span>
<span style="color: #000000;">&#125;</span></pre></div></td></tr></table></div>


<div class="wp_syntax"><table><tr><td><div class="code"><pre class="csharp" style="font-family:Consolas; monospace;"><span style="color: #008080; font-style: italic;">/// &lt;summary&gt;</span>
<span style="color: #008080; font-style: italic;">/// This method uses array (bucket) of integer</span>
<span style="color: #008080; font-style: italic;">/// &lt;/summary&gt;</span>
<span style="color: #008080; font-style: italic;">/// &lt;param name=&quot;a&quot;&gt;input integer array&lt;/param&gt;</span>
<span style="color: #008080; font-style: italic;">/// &lt;returns&gt;array of integers without duplicate content on it.&lt;/returns&gt;</span>
<span style="color: #0600FF;">public</span> <span style="color: #FF0000;">int</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> BucketRemove<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">int</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> a<span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#123;</span>
	<span style="color: #FF0000;">int</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> bucket <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> <span style="color: #FF0000;">int</span><span style="color: #000000;">&#91;</span><span style="color: #FF0000;">256</span><span style="color: #000000;">&#93;</span><span style="color: #008000;">;</span>
	<span style="color: #FF0000;">int</span> count <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span>
	<span style="color: #0600FF;">for</span> <span style="color: #000000;">&#40;</span><span style="color: #FF0000;">int</span> i <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span> i <span style="color: #008000;">&lt;</span> a.<span style="color: #0000FF;">Length</span><span style="color: #008000;">;</span> i<span style="color: #008000;">++</span><span style="color: #000000;">&#41;</span>
	<span style="color: #000000;">&#123;</span>
		<span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>bucket<span style="color: #000000;">&#91;</span>a<span style="color: #000000;">&#91;</span>i<span style="color: #000000;">&#93;</span><span style="color: #000000;">&#93;</span> <span style="color: #008000;">!=</span> <span style="color: #FF0000;">1</span><span style="color: #000000;">&#41;</span>
		<span style="color: #000000;">&#123;</span>
			bucket<span style="color: #000000;">&#91;</span>a<span style="color: #000000;">&#91;</span>i<span style="color: #000000;">&#93;</span><span style="color: #000000;">&#93;</span> <span style="color: #008000;">=</span> <span style="color: #FF0000;">1</span><span style="color: #008000;">;</span>
			count<span style="color: #008000;">++;</span>
		<span style="color: #000000;">&#125;</span>
	<span style="color: #000000;">&#125;</span>
	<span style="color: #FF0000;">int</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> output <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> <span style="color: #FF0000;">int</span><span style="color: #000000;">&#91;</span>count<span style="color: #000000;">&#93;</span><span style="color: #008000;">;</span>
	<span style="color: #FF0000;">int</span> j <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span>
	<span style="color: #0600FF;">for</span> <span style="color: #000000;">&#40;</span><span style="color: #FF0000;">int</span> i <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span> i <span style="color: #008000;">&lt;</span> bucket.<span style="color: #0000FF;">Length</span><span style="color: #008000;">;</span> i<span style="color: #008000;">++</span><span style="color: #000000;">&#41;</span>
	<span style="color: #000000;">&#123;</span>
		<span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>bucket<span style="color: #000000;">&#91;</span>i<span style="color: #000000;">&#93;</span> <span style="color: #008000;">==</span> <span style="color: #FF0000;">1</span><span style="color: #000000;">&#41;</span>
		<span style="color: #000000;">&#123;</span>
			output<span style="color: #000000;">&#91;</span>j<span style="color: #008000;">++</span><span style="color: #000000;">&#93;</span> <span style="color: #008000;">=</span> i<span style="color: #008000;">;</span>
		<span style="color: #000000;">&#125;</span>
	<span style="color: #000000;">&#125;</span>
	<span style="color: #0600FF;">return</span> output<span style="color: #008000;">;</span>
<span style="color: #000000;">&#125;</span></pre></div></td></tr></table></div>

<p>This method only works for sorted array. You can either return same array (duplicate content will move to last part of array) or last index of array which is length of array without duplicate element.</p>

<div class="wp_syntax"><table><tr><td><div class="code"><pre class="csharp" style="font-family:Consolas; monospace;"><span style="color: #008080; font-style: italic;">/// &lt;summary&gt;</span>
<span style="color: #008080; font-style: italic;">/// Removes duplicate in sorted array</span>
<span style="color: #008080; font-style: italic;">/// &lt;/summary&gt;</span>
<span style="color: #008080; font-style: italic;">/// &lt;param name=&quot;a&quot;&gt;array of integers&lt;/param&gt;</span>
<span style="color: #008080; font-style: italic;">/// &lt;returns&gt;array of integers with no duplicate content (duplicate content moved to last part of array.)&lt;/returns&gt;</span>
<span style="color: #0600FF;">public</span> <span style="color: #FF0000;">int</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> RemoveDuplicate<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">int</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> a<span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#123;</span>
	<span style="color: #FF0000;">int</span> j <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span>
	<span style="color: #0600FF;">for</span> <span style="color: #000000;">&#40;</span><span style="color: #FF0000;">int</span> i <span style="color: #008000;">=</span> <span style="color: #FF0000;">1</span><span style="color: #008000;">;</span> i <span style="color: #008000;">&lt;</span> a.<span style="color: #0000FF;">Length</span><span style="color: #008000;">;</span> i<span style="color: #008000;">++</span><span style="color: #000000;">&#41;</span>
	<span style="color: #000000;">&#123;</span>
		<span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>a<span style="color: #000000;">&#91;</span>j<span style="color: #000000;">&#93;</span> <span style="color: #008000;">!=</span> a<span style="color: #000000;">&#91;</span>i<span style="color: #000000;">&#93;</span><span style="color: #000000;">&#41;</span>
		<span style="color: #000000;">&#123;</span>
			a<span style="color: #000000;">&#91;</span><span style="color: #008000;">++</span>j<span style="color: #000000;">&#93;</span> <span style="color: #008000;">=</span> a<span style="color: #000000;">&#91;</span>i<span style="color: #000000;">&#93;</span><span style="color: #008000;">;</span>
		<span style="color: #000000;">&#125;</span>
	<span style="color: #000000;">&#125;</span>
	<span style="color: #0600FF;">return</span> a<span style="color: #008000;">;</span>
<span style="color: #000000;">&#125;</span></pre></div></td></tr></table></div>

<p>Testing these methods:</p>

<div class="wp_syntax"><table><tr><td><div class="code"><pre class="csharp" style="font-family:Consolas; monospace;"><span style="color: #FF0000;">int</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> input <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> <span style="color: #FF0000;">int</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> <span style="color: #000000;">&#123;</span> <span style="color: #FF0000;">1</span>, <span style="color: #FF0000;">2</span>, <span style="color: #FF0000;">3</span>, <span style="color: #FF0000;">4</span>, <span style="color: #FF0000;">4</span>, <span style="color: #FF0000;">5</span>, <span style="color: #FF0000;">5</span>, <span style="color: #FF0000;">6</span>, <span style="color: #FF0000;">7</span> <span style="color: #000000;">&#125;</span><span style="color: #008000;">;</span>
<span style="color: #FF0000;">int</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> a <span style="color: #008000;">=</span> BucketRemove<span style="color: #000000;">&#40;</span>input<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
<span style="color: #0600FF;">foreach</span> <span style="color: #000000;">&#40;</span><span style="color: #FF0000;">int</span> i <span style="color: #0600FF;">in</span> a<span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#123;</span>
	Console.<span style="color: #0000FF;">Write</span><span style="color: #000000;">&#40;</span>i <span style="color: #008000;">+</span> <span style="color: #666666;">&quot; &quot;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
<span style="color: #000000;">&#125;</span>
&nbsp;
Console.<span style="color: #0000FF;">WriteLine</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
<span style="color: #FF0000;">int</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> b <span style="color: #008000;">=</span>RemoveUsingHash<span style="color: #000000;">&#40;</span>input<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
<span style="color: #0600FF;">foreach</span> <span style="color: #000000;">&#40;</span><span style="color: #FF0000;">int</span> i <span style="color: #0600FF;">in</span> a<span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#123;</span>
	Console.<span style="color: #0000FF;">Write</span><span style="color: #000000;">&#40;</span>i <span style="color: #008000;">+</span> <span style="color: #666666;">&quot; &quot;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
<span style="color: #000000;">&#125;</span>
&nbsp;
Console.<span style="color: #0000FF;">WriteLine</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
<span style="color: #FF0000;">int</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> c <span style="color: #008000;">=</span> RemoveDuplicate<span style="color: #000000;">&#40;</span>input<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
<span style="color: #0600FF;">foreach</span> <span style="color: #000000;">&#40;</span><span style="color: #FF0000;">int</span> i <span style="color: #0600FF;">in</span> a<span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#123;</span>
	Console.<span style="color: #0000FF;">Write</span><span style="color: #000000;">&#40;</span>i <span style="color: #008000;">+</span> <span style="color: #666666;">&quot; &quot;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
<span style="color: #000000;">&#125;</span></pre></div></td></tr></table></div>

<p>OUTPUT:</p>

<div class="wp_syntax"><table><tr><td><div class="code"><pre class="csharp" style="font-family:Consolas; monospace;"><span style="color: #FF0000;">1</span> <span style="color: #FF0000;">2</span> <span style="color: #FF0000;">3</span> <span style="color: #FF0000;">4</span> <span style="color: #FF0000;">5</span> <span style="color: #FF0000;">6</span> <span style="color: #FF0000;">7</span>
<span style="color: #FF0000;">1</span> <span style="color: #FF0000;">2</span> <span style="color: #FF0000;">3</span> <span style="color: #FF0000;">4</span> <span style="color: #FF0000;">5</span> <span style="color: #FF0000;">6</span> <span style="color: #FF0000;">7</span>
<span style="color: #FF0000;">1</span> <span style="color: #FF0000;">2</span> <span style="color: #FF0000;">3</span> <span style="color: #FF0000;">4</span> <span style="color: #FF0000;">5</span> <span style="color: #FF0000;">6</span> <span style="color: #FF0000;">7</span></pre></div></td></tr></table></div>

<img src="http://eXclusiveMinds.Com/?ak_action=api_record_view&id=344&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://eXclusiveMinds.com/2009/12/08/remove-duplicate-from-array-with-c/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Simple array rotation example in C#</title>
		<link>http://eXclusiveMinds.com/2009/12/08/simple-array-rotation-example-in-c/</link>
		<comments>http://eXclusiveMinds.com/2009/12/08/simple-array-rotation-example-in-c/#comments</comments>
		<pubDate>Mon, 07 Dec 2009 21:28:39 +0000</pubDate>
		<dc:creator>eXclusiveMinds</dc:creator>
				<category><![CDATA[Inverview Tips]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[Array]]></category>
		<category><![CDATA[C#]]></category>

		<guid isPermaLink="false">http://eXclusiveMinds.com/?p=340</guid>
		<description><![CDATA[We&#8217;ve a solution for following frequently asked interview question. Here&#8217;s problem statement &#8220;Implement the following function, RotateArray, which takes as its input an array of unique integers that has been sorted in ascending order, then rotated by an unknown amount X where 0 ]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve a solution for following frequently asked interview question. Here&#8217;s problem statement &#8220;Implement the following function, RotateArray, which takes as its input an array of unique integers that has been sorted in ascending order, then rotated by an unknown amount X where 0 <= X <= (arrayLength - 1). An array rotation by amount X moves every element array[i] to array[(i + X) % arrayLength]. RotateArray discovers and returns X by examining the array. You should be able to do this in less than linear time."<br />
<span id="more-340"></span><br />
Signature of method would be:</p>

<div class="wp_syntax"><table><tr><td><div class="code"><pre class="csharp" style="font-family:Consolas; monospace;"><span style="color: #0600FF;">public</span> <span style="color: #FF0000;">int</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> RotateArray<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">int</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> a, <span style="color: #FF0000;">int</span> X<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span></pre></div></td></tr></table></div>

<p>Here&#8217;s implementation:</p>

<div class="wp_syntax"><table><tr><td><div class="code"><pre class="csharp" style="font-family:Consolas; monospace;"><span style="color: #008080; font-style: italic;">/// &lt;summary&gt;</span>
<span style="color: #008080; font-style: italic;">/// Rotates sorted array.</span>
<span style="color: #008080; font-style: italic;">/// &lt;/summary&gt;</span>
<span style="color: #008080; font-style: italic;">/// &lt;param name=&quot;a&quot;&gt;integer array&lt;/param&gt;</span>
<span style="color: #008080; font-style: italic;">/// &lt;param name=&quot;X&quot;&gt;rotation index&lt;/param&gt;</span>
<span style="color: #008080; font-style: italic;">/// &lt;returns&gt;&lt;/returns&gt;</span>
<span style="color: #0600FF;">public</span> <span style="color: #FF0000;">int</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> RotateArray<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">int</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> a, <span style="color: #FF0000;">int</span> X<span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#123;</span>
	<span style="color: #FF0000;">int</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> output <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> <span style="color: #FF0000;">int</span><span style="color: #000000;">&#91;</span>a.<span style="color: #0000FF;">Length</span><span style="color: #000000;">&#93;</span><span style="color: #008000;">;</span>
	<span style="color: #FF0000;">int</span> j<span style="color: #008000;">;</span>
&nbsp;
	<span style="color: #0600FF;">for</span> <span style="color: #000000;">&#40;</span><span style="color: #FF0000;">int</span> i <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span> i <span style="color: #008000;">&lt;</span> a.<span style="color: #0000FF;">Length</span><span style="color: #008000;">;</span> i<span style="color: #008000;">++</span><span style="color: #000000;">&#41;</span>
	<span style="color: #000000;">&#123;</span>
		j <span style="color: #008000;">=</span> <span style="color: #000000;">&#40;</span>i <span style="color: #008000;">+</span> X<span style="color: #000000;">&#41;</span> <span style="color: #008000;">%</span> a.<span style="color: #0000FF;">Length</span><span style="color: #008000;">;</span>
		<span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>j <span style="color: #008000;">&lt;</span> <span style="color: #FF0000;">0</span><span style="color: #000000;">&#41;</span>
		<span style="color: #000000;">&#123;</span>
			j <span style="color: #008000;">+=</span> a.<span style="color: #0000FF;">Length</span><span style="color: #008000;">;</span>
		<span style="color: #000000;">&#125;</span>
		output<span style="color: #000000;">&#91;</span>j<span style="color: #000000;">&#93;</span> <span style="color: #008000;">=</span> a<span style="color: #000000;">&#91;</span>i<span style="color: #000000;">&#93;</span><span style="color: #008000;">;</span>
	<span style="color: #000000;">&#125;</span>
	<span style="color: #0600FF;">return</span> output<span style="color: #008000;">;</span>
<span style="color: #000000;">&#125;</span></pre></div></td></tr></table></div>

<p>Testing this method:</p>

<div class="wp_syntax"><table><tr><td><div class="code"><pre class="csharp" style="font-family:Consolas; monospace;"><span style="color: #0600FF;">static</span> <span style="color: #0600FF;">void</span> Main<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">string</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> args<span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#123;</span>
	<span style="color: #FF0000;">int</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> a <span style="color: #008000;">=</span> RotateArray<span style="color: #000000;">&#40;</span><span style="color: #008000;">new</span> <span style="color: #FF0000;">int</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> <span style="color: #000000;">&#123;</span> <span style="color: #FF0000;">1</span>, <span style="color: #FF0000;">2</span>, <span style="color: #FF0000;">3</span>, <span style="color: #FF0000;">4</span>, <span style="color: #FF0000;">5</span>, <span style="color: #FF0000;">6</span>, <span style="color: #FF0000;">7</span>, <span style="color: #FF0000;">8</span>, <span style="color: #FF0000;">9</span> <span style="color: #000000;">&#125;</span>, <span style="color: #FF0000;">3</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
	<span style="color: #0600FF;">foreach</span> <span style="color: #000000;">&#40;</span><span style="color: #FF0000;">int</span> i <span style="color: #0600FF;">in</span> a<span style="color: #000000;">&#41;</span>
	<span style="color: #000000;">&#123;</span>
		Console.<span style="color: #0000FF;">Write</span><span style="color: #000000;">&#40;</span>i <span style="color: #008000;">+</span> <span style="color: #666666;">&quot; &quot;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
	<span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span></pre></div></td></tr></table></div>

<p>OUTPUT:</p>

<div class="wp_syntax"><table><tr><td><div class="code"><pre class="csharp" style="font-family:Consolas; monospace;"><span style="color: #FF0000;">7</span> <span style="color: #FF0000;">8</span> <span style="color: #FF0000;">9</span> <span style="color: #FF0000;">1</span> <span style="color: #FF0000;">2</span> <span style="color: #FF0000;">3</span> <span style="color: #FF0000;">4</span> <span style="color: #FF0000;">5</span> <span style="color: #FF0000;">6</span> <span style="color: #008080; font-style: italic;">//input: 1 2 3 4 5 6 7 8 9</span></pre></div></td></tr></table></div>

<img src="http://eXclusiveMinds.Com/?ak_action=api_record_view&id=340&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://eXclusiveMinds.com/2009/12/08/simple-array-rotation-example-in-c/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Program to find longest palindrome in string with C#</title>
		<link>http://eXclusiveMinds.com/2009/12/08/program-to-find-longest-palindrome-in-string-with-c/</link>
		<comments>http://eXclusiveMinds.com/2009/12/08/program-to-find-longest-palindrome-in-string-with-c/#comments</comments>
		<pubDate>Mon, 07 Dec 2009 21:10:58 +0000</pubDate>
		<dc:creator>eXclusiveMinds</dc:creator>
				<category><![CDATA[Inverview Tips]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Longest Palindrome]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://eXclusiveMinds.com/?p=338</guid>
		<description><![CDATA[Are you searching for solution for finding longest palindrome in string? If so we&#8217;ve something for you. We have following C# example for finding longest palindrome in character array (or string). We&#8217;ve two different while loop to find longest palindrome for odd length palindromes and even lenth palindromes.


 /// &#60;summary&#62;
 /// This method finds longest [...]]]></description>
			<content:encoded><![CDATA[<p>Are you searching for solution for finding longest palindrome in string? If so we&#8217;ve something for you. We have following C# example for finding longest palindrome in character array (or string). We&#8217;ve two different while loop to find longest palindrome for odd length palindromes and even lenth palindromes.<br />
<span id="more-338"></span></p>

<div class="wp_syntax"><table><tr><td><div class="code"><pre class="csharp" style="font-family:Consolas; monospace;"> <span style="color: #008080; font-style: italic;">/// &lt;summary&gt;</span>
 <span style="color: #008080; font-style: italic;">/// This method finds longest palindrome in a character array.</span>
 <span style="color: #008080; font-style: italic;">/// &lt;/summary&gt;</span>
 <span style="color: #008080; font-style: italic;">/// &lt;param name=&quot;input&quot;&gt;array of characters&lt;/param&gt;</span>
<span style="color: #0600FF;">public</span> <span style="color: #0600FF;">void</span> FindLongestPalindrome<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">char</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> input<span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#123;</span>
	<span style="color: #FF0000;">int</span> len<span style="color: #008000;">;</span>
	<span style="color: #FF0000;">int</span> i <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span>, j <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span>, k <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span>, l <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span>
	<span style="color: #FF0000;">int</span> lower <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span>, upper <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span>
	len <span style="color: #008000;">=</span> input.<span style="color: #0000FF;">Length</span><span style="color: #008000;">;</span>
&nbsp;
	<span style="color: #008080; font-style: italic;">/*Odd length Palindromes*/</span>
	<span style="color: #0600FF;">while</span> <span style="color: #000000;">&#40;</span>i <span style="color: #008000;">&lt;</span> len <span style="color: #008000;">&amp;&amp;</span> j <span style="color: #008000;">&lt;</span> len<span style="color: #000000;">&#41;</span>
	<span style="color: #000000;">&#123;</span>
		k <span style="color: #008000;">=</span> i<span style="color: #008000;">;</span>
		l <span style="color: #008000;">=</span> j<span style="color: #008000;">;</span>
		<span style="color: #0600FF;">while</span> <span style="color: #000000;">&#40;</span><span style="color: #000000;">&#40;</span>k <span style="color: #008000;">&gt;=</span> <span style="color: #FF0000;">0</span> <span style="color: #008000;">&amp;&amp;</span> l <span style="color: #008000;">&lt;</span> len<span style="color: #000000;">&#41;</span> <span style="color: #008000;">&amp;&amp;</span> <span style="color: #000000;">&#40;</span>input<span style="color: #000000;">&#91;</span>k<span style="color: #000000;">&#93;</span> <span style="color: #008000;">==</span> input<span style="color: #000000;">&#91;</span>l<span style="color: #000000;">&#93;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span>
		<span style="color: #000000;">&#123;</span>
			<span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #000000;">&#40;</span>upper <span style="color: #008000;">-</span> lower<span style="color: #000000;">&#41;</span> <span style="color: #008000;">&lt;=</span> <span style="color: #000000;">&#40;</span>l <span style="color: #008000;">-</span> k<span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span>
			<span style="color: #000000;">&#123;</span>
				lower <span style="color: #008000;">=</span> k<span style="color: #008000;">;</span>
				upper <span style="color: #008000;">=</span> l<span style="color: #008000;">;</span>
			<span style="color: #000000;">&#125;</span>
			k<span style="color: #008000;">--;</span>
			l<span style="color: #008000;">++;</span>
		<span style="color: #000000;">&#125;</span>
		i<span style="color: #008000;">++;</span>
		j<span style="color: #008000;">++;</span>
	<span style="color: #000000;">&#125;</span>
&nbsp;
	<span style="color: #008080; font-style: italic;">/*Even length Palindromes*/</span>
	i <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span>
	j <span style="color: #008000;">=</span> <span style="color: #FF0000;">1</span><span style="color: #008000;">;</span>
	<span style="color: #0600FF;">while</span> <span style="color: #000000;">&#40;</span>i <span style="color: #008000;">&lt;</span> len <span style="color: #008000;">&amp;&amp;</span> j <span style="color: #008000;">&lt;</span> len<span style="color: #000000;">&#41;</span>
	<span style="color: #000000;">&#123;</span>
		k <span style="color: #008000;">=</span> i<span style="color: #008000;">;</span>
		l <span style="color: #008000;">=</span> j<span style="color: #008000;">;</span>
		<span style="color: #0600FF;">while</span> <span style="color: #000000;">&#40;</span><span style="color: #000000;">&#40;</span>k <span style="color: #008000;">&gt;=</span> <span style="color: #FF0000;">0</span> <span style="color: #008000;">&amp;&amp;</span> l <span style="color: #008000;">&lt;</span> len<span style="color: #000000;">&#41;</span> <span style="color: #008000;">&amp;&amp;</span> <span style="color: #000000;">&#40;</span>input<span style="color: #000000;">&#91;</span>k<span style="color: #000000;">&#93;</span> <span style="color: #008000;">==</span> input<span style="color: #000000;">&#91;</span>l<span style="color: #000000;">&#93;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span>
		<span style="color: #000000;">&#123;</span>
			<span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #000000;">&#40;</span>upper <span style="color: #008000;">-</span> lower<span style="color: #000000;">&#41;</span> <span style="color: #008000;">&lt;=</span> <span style="color: #000000;">&#40;</span>l <span style="color: #008000;">-</span> k<span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span>
			<span style="color: #000000;">&#123;</span>
				lower <span style="color: #008000;">=</span> k<span style="color: #008000;">;</span>
				upper <span style="color: #008000;">=</span> l<span style="color: #008000;">;</span>
			<span style="color: #000000;">&#125;</span>
			k<span style="color: #008000;">--;</span>
			l<span style="color: #008000;">++;</span>
		<span style="color: #000000;">&#125;</span>
		i<span style="color: #008000;">++;</span>
		j<span style="color: #008000;">++;</span>
	<span style="color: #000000;">&#125;</span>
&nbsp;
	<span style="color: #0600FF;">for</span> <span style="color: #000000;">&#40;</span>i <span style="color: #008000;">=</span> lower<span style="color: #008000;">;</span> i <span style="color: #008000;">&lt;=</span> upper<span style="color: #008000;">;</span> i<span style="color: #008000;">++</span><span style="color: #000000;">&#41;</span>
	<span style="color: #000000;">&#123;</span>
		Console.<span style="color: #0000FF;">Write</span><span style="color: #000000;">&#40;</span>input<span style="color: #000000;">&#91;</span>i<span style="color: #000000;">&#93;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
	<span style="color: #000000;">&#125;</span>
	Console.<span style="color: #0000FF;">WriteLine</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
<span style="color: #000000;">&#125;</span></pre></div></td></tr></table></div>

<img src="http://eXclusiveMinds.Com/?ak_action=api_record_view&id=338&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://eXclusiveMinds.com/2009/12/08/program-to-find-longest-palindrome-in-string-with-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
