<?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>electrofriends.com &#187; C++ Programs</title>
	<atom:link href="http://electrofriends.com/category/source-codes/software-programs/cpp-programs/feed/" rel="self" type="application/rss+xml" />
	<link>http://electrofriends.com</link>
	<description>...bringing innovative minds together</description>
	<lastBuildDate>Tue, 07 Feb 2012 08:43:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.6</generator>
		<item>
		<title>C++ program to implement stack using Linked List</title>
		<link>http://electrofriends.com/source-codes/software-programs/cpp-programs/cpp-data-structure/c-program-to-implement-stack-using-linked-list/</link>
		<comments>http://electrofriends.com/source-codes/software-programs/cpp-programs/cpp-data-structure/c-program-to-implement-stack-using-linked-list/#comments</comments>
		<pubDate>Thu, 03 Feb 2011 10:50:47 +0000</pubDate>
		<dc:creator>Ranjith</dc:creator>
				<category><![CDATA[Data structure]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[Linked Lists]]></category>
		<category><![CDATA[stack]]></category>
		<category><![CDATA[struct]]></category>
		<category><![CDATA[templates]]></category>

		<guid isPermaLink="false">http://electrofriends.com/?p=1252</guid>
		<description><![CDATA[#include &#60;iostream.h&#62; template&#60;class T&#62; class Node &#123; friend LinkedStack&#60;T&#62;; private: T data; Node&#60;T&#62; *link; &#125;; template&#60;class T&#62; class LinkedStack &#123; public: LinkedStack&#40;&#41; &#123;top = 0;&#125; ~LinkedStack&#40;&#41;; int IsEmpty&#40;&#41; const &#123;return top == 0;&#125; T Top&#40;&#41; const; LinkedStack&#60;T&#62;&#38; Add&#40;const T&#38; x&#41;; LinkedStack&#60;T&#62;&#38; Delete&#40;T&#38; x&#41;; private: Node&#60;T&#62; *top; &#125;; template&#60;class T&#62; LinkedStack&#60;T&#62;::~LinkedStack&#40;&#41; &#123;// Stack destructor.. Node&#60;T&#62; *next; [...]]]></description>
			<content:encoded><![CDATA[
<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include &lt;iostream.h&gt;</span>
<span style="color: #0000ff;">template</span><span style="color: #000080;">&lt;</span><span style="color: #0000ff;">class</span> T<span style="color: #000080;">&gt;</span>
<span style="color: #0000ff;">class</span> Node
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">friend</span> LinkedStack<span style="color: #000080;">&lt;</span>T<span style="color: #000080;">&gt;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">private</span><span style="color: #008080;">:</span>
	T data<span style="color: #008080;">;</span>
	Node<span style="color: #000080;">&lt;</span>T<span style="color: #000080;">&gt;</span> <span style="color: #000040;">*</span>link<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">template</span><span style="color: #000080;">&lt;</span><span style="color: #0000ff;">class</span> T<span style="color: #000080;">&gt;</span>
<span style="color: #0000ff;">class</span> LinkedStack <span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">public</span><span style="color: #008080;">:</span>
		LinkedStack<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>top <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span><span style="color: #008000;">&#125;</span>
		~LinkedStack<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">int</span> IsEmpty<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">const</span> <span style="color: #008000;">&#123;</span><span style="color: #0000ff;">return</span> top <span style="color: #000080;">==</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span><span style="color: #008000;">&#125;</span>
		T Top<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">const</span><span style="color: #008080;">;</span>
		LinkedStack<span style="color: #000080;">&lt;</span>T<span style="color: #000080;">&gt;</span><span style="color: #000040;">&amp;</span> Add<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">const</span> T<span style="color: #000040;">&amp;</span> x<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		LinkedStack<span style="color: #000080;">&lt;</span>T<span style="color: #000080;">&gt;</span><span style="color: #000040;">&amp;</span> Delete<span style="color: #008000;">&#40;</span>T<span style="color: #000040;">&amp;</span> x<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">private</span><span style="color: #008080;">:</span>
		Node<span style="color: #000080;">&lt;</span>T<span style="color: #000080;">&gt;</span> <span style="color: #000040;">*</span>top<span style="color: #008080;">;</span> 
<span style="color: #008000;">&#125;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">template</span><span style="color: #000080;">&lt;</span><span style="color: #0000ff;">class</span> T<span style="color: #000080;">&gt;</span>
LinkedStack<span style="color: #000080;">&lt;</span>T<span style="color: #000080;">&gt;</span><span style="color: #008080;">::</span>~LinkedStack<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span><span style="color: #666666;">// Stack destructor..</span>
	Node<span style="color: #000080;">&lt;</span>T<span style="color: #000080;">&gt;</span> <span style="color: #000040;">*</span>next<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span>top<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
		next <span style="color: #000080;">=</span> top<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>link<span style="color: #008080;">;</span>
		<span style="color: #0000dd;">delete</span> top<span style="color: #008080;">;</span>
		top <span style="color: #000080;">=</span> next<span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">template</span><span style="color: #000080;">&lt;</span><span style="color: #0000ff;">class</span> T<span style="color: #000080;">&gt;</span>
T LinkedStack<span style="color: #000080;">&lt;</span>T<span style="color: #000080;">&gt;</span><span style="color: #008080;">::</span><span style="color: #007788;">Top</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">const</span>
<span style="color: #008000;">&#123;</span><span style="color: #666666;">// Return top element.</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>IsEmpty<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span> <span style="color: #0000dd;">cout</span><span style="color: #000080;">&lt;&lt;</span><span style="color: #FF0000;">&quot;Stack empty:&quot;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">else</span>
		<span style="color: #0000ff;">return</span> top<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>data<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">template</span><span style="color: #000080;">&lt;</span><span style="color: #0000ff;">class</span> T<span style="color: #000080;">&gt;</span>
LinkedStack<span style="color: #000080;">&lt;</span>T<span style="color: #000080;">&gt;</span><span style="color: #000040;">&amp;</span> LinkedStack<span style="color: #000080;">&lt;</span>T<span style="color: #000080;">&gt;</span><span style="color: #008080;">::</span><span style="color: #007788;">Add</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">const</span> T<span style="color: #000040;">&amp;</span> x<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span><span style="color: #666666;">// Add x to stack.</span>
	Node<span style="color: #000080;">&lt;</span>T<span style="color: #000080;">&gt;</span> <span style="color: #000040;">*</span>p <span style="color: #000080;">=</span> <span style="color: #0000dd;">new</span> Node<span style="color: #000080;">&lt;</span>T<span style="color: #000080;">&gt;</span><span style="color: #008080;">;</span>
	p<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>data <span style="color: #000080;">=</span> x<span style="color: #008080;">;</span>
	p<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>link <span style="color: #000080;">=</span> top<span style="color: #008080;">;</span>
	top <span style="color: #000080;">=</span> p<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">return</span> <span style="color: #000040;">*</span><span style="color: #0000dd;">this</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">template</span><span style="color: #000080;">&lt;</span><span style="color: #0000ff;">class</span> T<span style="color: #000080;">&gt;</span>
LinkedStack<span style="color: #000080;">&lt;</span>T<span style="color: #000080;">&gt;</span><span style="color: #000040;">&amp;</span> LinkedStack<span style="color: #000080;">&lt;</span>T<span style="color: #000080;">&gt;</span><span style="color: #008080;">::</span><span style="color: #007788;">Delete</span><span style="color: #008000;">&#40;</span>T<span style="color: #000040;">&amp;</span> x<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span><span style="color: #666666;">// Delete top element and put it in x.</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>IsEmpty<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span> 
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000dd;">cout</span><span style="color: #000080;">&lt;&lt;</span><span style="color: #FF0000;">&quot;Stack empty&quot;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">return</span> <span style="color: #000040;">*</span><span style="color: #0000dd;">this</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	x <span style="color: #000080;">=</span> top<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>data<span style="color: #008080;">;</span>
	Node<span style="color: #000080;">&lt;</span>T<span style="color: #000080;">&gt;</span> <span style="color: #000040;">*</span>p <span style="color: #000080;">=</span> top<span style="color: #008080;">;</span>
	top <span style="color: #000080;">=</span> top<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>link<span style="color: #008080;">;</span>
	<span style="color: #0000dd;">delete</span> p<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">return</span> <span style="color: #000040;">*</span><span style="color: #0000dd;">this</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> main<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">void</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">int</span> x<span style="color: #008080;">;</span>
	LinkedStack<span style="color: #000080;">&lt;</span><span style="color: #0000ff;">int</span><span style="color: #000080;">&gt;</span> S<span style="color: #008080;">;</span>
	S.<span style="color: #007788;">Add</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span>.<span style="color: #007788;">Add</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#41;</span>.<span style="color: #007788;">Add</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">3</span><span style="color: #008000;">&#41;</span>.<span style="color: #007788;">Add</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">4</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;Stack should be 1234&quot;</span> <span style="color: #000080;">&lt;&lt;</span> endl<span style="color: #008080;">;</span>
	<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;Stack top is &quot;</span> <span style="color: #000080;">&lt;&lt;</span> S.<span style="color: #007788;">Top</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #000080;">&lt;&lt;</span> endl<span style="color: #008080;">;</span>
	S.<span style="color: #007788;">Delete</span><span style="color: #008000;">&#40;</span>x<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;Deleted &quot;</span> <span style="color: #000080;">&lt;&lt;</span> x <span style="color: #000080;">&lt;&lt;</span> endl<span style="color: #008080;">;</span>
	S.<span style="color: #007788;">Delete</span><span style="color: #008000;">&#40;</span>x<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;Deleted &quot;</span> <span style="color: #000080;">&lt;&lt;</span> x <span style="color: #000080;">&lt;&lt;</span> endl<span style="color: #008080;">;</span>
	S.<span style="color: #007788;">Delete</span><span style="color: #008000;">&#40;</span>x<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;Deleted &quot;</span> <span style="color: #000080;">&lt;&lt;</span> x <span style="color: #000080;">&lt;&lt;</span> endl<span style="color: #008080;">;</span>
	S.<span style="color: #007788;">Delete</span><span style="color: #008000;">&#40;</span>x<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;Deleted &quot;</span> <span style="color: #000080;">&lt;&lt;</span> x <span style="color: #000080;">&lt;&lt;</span> endl<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://electrofriends.com/source-codes/software-programs/cpp-programs/cpp-data-structure/c-program-to-implement-stack-using-linked-list/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>C++ program to implement Stack using Formula Based Representation</title>
		<link>http://electrofriends.com/source-codes/software-programs/cpp-programs/cpp-data-structure/c-program-to-implement-stack-using-formula-based-representation/</link>
		<comments>http://electrofriends.com/source-codes/software-programs/cpp-programs/cpp-data-structure/c-program-to-implement-stack-using-formula-based-representation/#comments</comments>
		<pubDate>Thu, 03 Feb 2011 10:47:47 +0000</pubDate>
		<dc:creator>Ranjith</dc:creator>
				<category><![CDATA[Data structure]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[Formula Based Representation]]></category>
		<category><![CDATA[Linked Lists]]></category>
		<category><![CDATA[stack]]></category>
		<category><![CDATA[struct]]></category>
		<category><![CDATA[templates]]></category>

		<guid isPermaLink="false">http://electrofriends.com/?p=1250</guid>
		<description><![CDATA[#include&#60;iostream.h&#62; #include&#60;constream.h&#62; template&#60;class T&#62; class Stack &#123; public: Stack&#40;int MaxStackSize&#41;; ~Stack&#40;&#41;&#123;delete&#91;&#93; S;&#125; int IsEmpty&#40;&#41;const&#123;return top==-1;&#125; int IsFull&#40;&#41;const&#123;return top==MaxTop;&#125; T Peek&#40;&#41;const; void Push&#40;T&#41;; T Pop&#40;&#41;; void Display&#40;&#41;; private: int top; //current top of stack int MaxTop; //max val for top T *S; //element array &#125;; template&#60;class T&#62; Stack&#60;T&#62;::Stack&#40;int MaxStackSize&#41; &#123; //stack constructor MaxTop=MaxStackSize-1; S=new T&#91;MaxStackSize&#93;; top=-1; [...]]]></description>
			<content:encoded><![CDATA[
<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include&lt;iostream.h&gt;</span>
<span style="color: #339900;">#include&lt;constream.h&gt;</span>
<span style="color: #0000ff;">template</span><span style="color: #000080;">&lt;</span><span style="color: #0000ff;">class</span> T<span style="color: #000080;">&gt;</span>
<span style="color: #0000ff;">class</span> Stack
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">public</span><span style="color: #008080;">:</span>
		Stack<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> MaxStackSize<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		~Stack<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#123;</span><span style="color: #0000dd;">delete</span><span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> S<span style="color: #008080;">;</span><span style="color: #008000;">&#125;</span>
		<span style="color: #0000ff;">int</span> IsEmpty<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #0000ff;">const</span><span style="color: #008000;">&#123;</span><span style="color: #0000ff;">return</span> top<span style="color: #000080;">==</span><span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span><span style="color: #008000;">&#125;</span>
		<span style="color: #0000ff;">int</span> IsFull<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #0000ff;">const</span><span style="color: #008000;">&#123;</span><span style="color: #0000ff;">return</span> top<span style="color: #000080;">==</span>MaxTop<span style="color: #008080;">;</span><span style="color: #008000;">&#125;</span>
		T Peek<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #0000ff;">const</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">void</span> Push<span style="color: #008000;">&#40;</span>T<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		T Pop<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">void</span> Display<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">private</span><span style="color: #008080;">:</span>
		<span style="color: #0000ff;">int</span> top<span style="color: #008080;">;</span> <span style="color: #666666;">//current top of stack</span>
		<span style="color: #0000ff;">int</span> MaxTop<span style="color: #008080;">;</span> <span style="color: #666666;">//max val for top</span>
		T <span style="color: #000040;">*</span>S<span style="color: #008080;">;</span> <span style="color: #666666;">//element array</span>
<span style="color: #008000;">&#125;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">template</span><span style="color: #000080;">&lt;</span><span style="color: #0000ff;">class</span> T<span style="color: #000080;">&gt;</span>
Stack<span style="color: #000080;">&lt;</span>T<span style="color: #000080;">&gt;</span><span style="color: #008080;">::</span><span style="color: #007788;">Stack</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> MaxStackSize<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #666666;">//stack constructor</span>
	MaxTop<span style="color: #000080;">=</span>MaxStackSize<span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
	S<span style="color: #000080;">=</span><span style="color: #0000dd;">new</span> T<span style="color: #008000;">&#91;</span>MaxStackSize<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	top<span style="color: #000080;">=</span><span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">template</span><span style="color: #000080;">&lt;</span><span style="color: #0000ff;">class</span> T<span style="color: #000080;">&gt;</span>
T Stack<span style="color: #000080;">&lt;</span>T<span style="color: #000080;">&gt;</span><span style="color: #008080;">::</span><span style="color: #007788;">Peek</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #0000ff;">const</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>IsEmpty<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span> <span style="color: #666666;">//top fails</span>
		<span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">else</span>
		<span style="color: #0000ff;">return</span> S<span style="color: #008000;">&#91;</span>top<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">template</span><span style="color: #000080;">&lt;</span><span style="color: #0000ff;">class</span> T<span style="color: #000080;">&gt;</span>
<span style="color: #0000ff;">void</span> Stack<span style="color: #000080;">&lt;</span>T<span style="color: #000080;">&gt;</span><span style="color: #008080;">::</span><span style="color: #007788;">Push</span><span style="color: #008000;">&#40;</span>T x<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>IsFull<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
		<span style="color: #0000dd;">cout</span><span style="color: #000080;">&lt;&lt;</span><span style="color: #FF0000;">&quot;no memory()&quot;</span><span style="color: #008080;">;</span> <span style="color: #666666;">//add fails</span>
	<span style="color: #0000ff;">else</span>
	<span style="color: #008000;">&#123;</span>
		S<span style="color: #008000;">&#91;</span><span style="color: #000040;">++</span>top<span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span>x<span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">template</span><span style="color: #000080;">&lt;</span><span style="color: #0000ff;">class</span> T<span style="color: #000080;">&gt;</span>
T Stack<span style="color: #000080;">&lt;</span>T<span style="color: #000080;">&gt;</span><span style="color: #008080;">::</span><span style="color: #007788;">Pop</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	T x<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>IsEmpty<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000dd;">cout</span><span style="color: #000080;">&lt;&lt;</span><span style="color: #FF0000;">&quot;stack is empty<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">return</span> <span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">else</span>
	<span style="color: #008000;">&#123;</span>
		x<span style="color: #000080;">=</span>S<span style="color: #008000;">&#91;</span>top<span style="color: #000040;">--</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">return</span> x<span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">template</span><span style="color: #000080;">&lt;</span><span style="color: #0000ff;">class</span> T<span style="color: #000080;">&gt;</span>
<span style="color: #0000ff;">void</span> Stack<span style="color: #000080;">&lt;</span>T<span style="color: #000080;">&gt;</span><span style="color: #008080;">::</span><span style="color: #007788;">Display</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>IsEmpty<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
		<span style="color: #0000dd;">cout</span><span style="color: #000080;">&lt;&lt;</span><span style="color: #FF0000;">&quot;out of bounds&quot;</span><span style="color: #008080;">;</span> <span style="color: #666666;">//delete fails</span>
	<span style="color: #0000ff;">else</span>
		<span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i<span style="color: #000080;">=</span>top<span style="color: #008080;">;</span>i<span style="color: #000080;">&gt;=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>i<span style="color: #000040;">--</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			<span style="color: #0000dd;">cout</span><span style="color: #000080;">&lt;&lt;</span>S<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #000080;">&lt;&lt;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\t</span>&quot;</span><span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> menu<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000dd;">cout</span><span style="color: #000080;">&lt;&lt;</span><span style="color: #FF0000;">&quot;1.Push<span style="color: #000099; font-weight: bold;">\n</span> 2.Pop<span style="color: #000099; font-weight: bold;">\n</span> 3.Peek<span style="color: #000099; font-weight: bold;">\n</span> 4.Display<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	Stack<span style="color: #000080;">&lt;</span><span style="color: #0000ff;">int</span><span style="color: #000080;">&gt;</span>iobj<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">5</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> ch,x<span style="color: #008080;">;</span>
	clrscr<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">do</span>
	<span style="color: #008000;">&#123;</span>
		menu<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">cout</span><span style="color: #000080;">&lt;&lt;</span><span style="color: #FF0000;">&quot;enter the choice<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">cin</span><span style="color: #000080;">&gt;&gt;</span>ch<span style="color: #008080;">;</span>
		<span style="color: #0000ff;">switch</span><span style="color: #008000;">&#40;</span>ch<span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			<span style="color: #0000ff;">case</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">:</span>
				<span style="color: #0000dd;">cout</span><span style="color: #000080;">&lt;&lt;</span><span style="color: #FF0000;">&quot;enter x value to push into the stack<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008080;">;</span>
				<span style="color: #0000dd;">cin</span><span style="color: #000080;">&gt;&gt;</span>x<span style="color: #008080;">;</span>
				iobj.<span style="color: #007788;">Push</span><span style="color: #008000;">&#40;</span>x<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				<span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
			<span style="color: #0000ff;">case</span> <span style="color: #0000dd;">2</span><span style="color: #008080;">:</span>
				x<span style="color: #000080;">=</span>iobj.<span style="color: #007788;">Pop</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				<span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>x<span style="color: #000040;">!</span><span style="color: #000080;">=</span><span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span>
					<span style="color: #0000dd;">cout</span><span style="color: #000080;">&lt;&lt;</span><span style="color: #FF0000;">&quot;poped value is <span style="color: #000099; font-weight: bold;">\t</span>&quot;</span><span style="color: #000080;">&lt;&lt;</span>x<span style="color: #000080;">&lt;&lt;</span>endl<span style="color: #008080;">;</span>
				<span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
			<span style="color: #0000ff;">case</span> <span style="color: #0000dd;">3</span><span style="color: #008080;">:</span>
				x<span style="color: #000080;">=</span>iobj.<span style="color: #007788;">Peek</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				<span style="color: #0000dd;">cout</span><span style="color: #000080;">&lt;&lt;</span><span style="color: #FF0000;">&quot;top most value is <span style="color: #000099; font-weight: bold;">\t</span>&quot;</span><span style="color: #000080;">&lt;&lt;</span>x<span style="color: #000080;">&lt;&lt;</span>endl<span style="color: #008080;">;</span>
				<span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
			<span style="color: #0000ff;">case</span> <span style="color: #0000dd;">4</span><span style="color: #008080;">:</span>
				iobj.<span style="color: #007788;">Display</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				<span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
	<span style="color: #008000;">&#125;</span><span style="color: #0000ff;">while</span><span style="color: #008000;">&#40;</span>ch<span style="color: #000080;">&gt;=</span><span style="color: #0000dd;">1</span><span style="color: #000040;">&amp;&amp;</span>ch<span style="color: #000080;">&lt;=</span><span style="color: #0000dd;">4</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	getch<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://electrofriends.com/source-codes/software-programs/cpp-programs/cpp-data-structure/c-program-to-implement-stack-using-formula-based-representation/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>C++ program to multiply two polynomials maintained as linked lists</title>
		<link>http://electrofriends.com/source-codes/software-programs/cpp-programs/cpp-data-structure/c-program-to-multiply-two-polynomials-maintained-as-linked-lists/</link>
		<comments>http://electrofriends.com/source-codes/software-programs/cpp-programs/cpp-data-structure/c-program-to-multiply-two-polynomials-maintained-as-linked-lists/#comments</comments>
		<pubDate>Thu, 03 Feb 2011 10:45:58 +0000</pubDate>
		<dc:creator>Ranjith</dc:creator>
				<category><![CDATA[Data structure]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[Linked Lists]]></category>
		<category><![CDATA[multiply]]></category>
		<category><![CDATA[polynomials]]></category>
		<category><![CDATA[struct]]></category>

		<guid isPermaLink="false">http://electrofriends.com/?p=1248</guid>
		<description><![CDATA[#include &#60;iostream.h&#62; class poly &#123; private : struct polynode &#123; float coeff ; int exp ; polynode *link ; &#125; *p ; public : poly&#40; &#41; ; void poly_append &#40; float c, int e &#41; ; void display_poly&#40; &#41; ; void poly_multiply &#40; poly &#38;p1, poly &#38;p2 &#41; ; void padd &#40; float c, int [...]]]></description>
			<content:encoded><![CDATA[
<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include &lt;iostream.h&gt;</span>
<span style="color: #0000ff;">class</span> poly
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">private</span> <span style="color: #008080;">:</span>
		<span style="color: #0000ff;">struct</span> polynode
		<span style="color: #008000;">&#123;</span>
			<span style="color: #0000ff;">float</span> coeff <span style="color: #008080;">;</span>
			<span style="color: #0000ff;">int</span> <span style="color: #0000dd;">exp</span> <span style="color: #008080;">;</span>
			polynode <span style="color: #000040;">*</span>link <span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span> <span style="color: #000040;">*</span>p <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">public</span> <span style="color: #008080;">:</span>
		poly<span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">void</span> poly_append <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">float</span> c, <span style="color: #0000ff;">int</span> e <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">void</span> display_poly<span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">void</span> poly_multiply <span style="color: #008000;">&#40;</span> poly <span style="color: #000040;">&amp;</span>p1, poly <span style="color: #000040;">&amp;</span>p2 <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">void</span> padd <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">float</span> c, <span style="color: #0000ff;">int</span> e <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		~poly<span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span> <span style="color: #008080;">;</span>
poly <span style="color: #008080;">::</span> <span style="color: #007788;">poly</span><span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	p <span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span> <span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> poly <span style="color: #008080;">::</span> <span style="color: #007788;">poly_append</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">float</span> c, <span style="color: #0000ff;">int</span> e <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	polynode <span style="color: #000040;">*</span>temp <span style="color: #008080;">;</span>
	temp <span style="color: #000080;">=</span> p <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> temp <span style="color: #000080;">==</span> <span style="color: #0000ff;">NULL</span> <span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		temp <span style="color: #000080;">=</span> <span style="color: #0000dd;">new</span> polynode <span style="color: #008080;">;</span>
		p <span style="color: #000080;">=</span> temp <span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">else</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span> temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> link <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span> <span style="color: #008000;">&#41;</span>
			temp <span style="color: #000080;">=</span> temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> link <span style="color: #008080;">;</span>
		temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> link <span style="color: #000080;">=</span> <span style="color: #0000dd;">new</span> polynode <span style="color: #008080;">;</span>
		temp <span style="color: #000080;">=</span> temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> link <span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> coeff <span style="color: #000080;">=</span> c <span style="color: #008080;">;</span>
	temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> <span style="color: #0000dd;">exp</span> <span style="color: #000080;">=</span> e <span style="color: #008080;">;</span>
	temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> link <span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span> <span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> poly <span style="color: #008080;">::</span> <span style="color: #007788;">display_poly</span><span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	polynode <span style="color: #000040;">*</span>temp <span style="color: #000080;">=</span> p <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> f <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span> <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span> temp <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span> <span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> f <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span> <span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> coeff <span style="color: #000080;">&gt;</span> <span style="color: #0000dd;">0</span> <span style="color: #008000;">&#41;</span>
				<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot; + &quot;</span> <span style="color: #008080;">;</span>
			<span style="color: #0000ff;">else</span>
				<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot; &quot;</span> <span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> <span style="color: #0000dd;">exp</span> <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span> <span style="color: #008000;">&#41;</span>
			<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> coeff <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;x^&quot;</span> <span style="color: #000080;">&lt;&lt;</span> temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> <span style="color: #0000dd;">exp</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">else</span>
			<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> coeff <span style="color: #008080;">;</span>
		temp <span style="color: #000080;">=</span> temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> link <span style="color: #008080;">;</span>
		f <span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span> <span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> poly <span style="color: #008080;">::</span> <span style="color: #007788;">poly_multiply</span> <span style="color: #008000;">&#40;</span> poly <span style="color: #000040;">&amp;</span>p1, poly <span style="color: #000040;">&amp;</span>p2 <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	polynode <span style="color: #000040;">*</span>temp1, <span style="color: #000040;">*</span>temp2 <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">float</span> coeff1, exp1 <span style="color: #008080;">;</span>
	temp1 <span style="color: #000080;">=</span> p1.<span style="color: #007788;">p</span> <span style="color: #008080;">;</span>
	temp2 <span style="color: #000080;">=</span> p2.<span style="color: #007788;">p</span> <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> temp1 <span style="color: #000080;">==</span> <span style="color: #0000ff;">NULL</span> <span style="color: #000040;">&amp;&amp;</span> temp2 <span style="color: #000080;">==</span> <span style="color: #0000ff;">NULL</span> <span style="color: #008000;">&#41;</span>
		<span style="color: #0000ff;">return</span> <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> temp1 <span style="color: #000080;">==</span> <span style="color: #0000ff;">NULL</span> <span style="color: #008000;">&#41;</span>
		p <span style="color: #000080;">=</span> p2.<span style="color: #007788;">p</span> <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">else</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> temp2 <span style="color: #000080;">==</span> <span style="color: #0000ff;">NULL</span> <span style="color: #008000;">&#41;</span>
			p <span style="color: #000080;">=</span> temp1 <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">else</span>		<span style="color: #008000;">&#123;</span>
			<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span> temp1 <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span> <span style="color: #008000;">&#41;</span>
			<span style="color: #008000;">&#123;</span>
				<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span> temp2 <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span> <span style="color: #008000;">&#41;</span>
				<span style="color: #008000;">&#123;</span>
					coeff1 <span style="color: #000080;">=</span> temp1 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> coeff <span style="color: #000040;">*</span> temp2 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> coeff <span style="color: #008080;">;</span>
					exp1 <span style="color: #000080;">=</span> temp1 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> <span style="color: #0000dd;">exp</span> <span style="color: #000040;">+</span> temp2 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> <span style="color: #0000dd;">exp</span> <span style="color: #008080;">;</span>
					temp2 <span style="color: #000080;">=</span> temp2 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> link <span style="color: #008080;">;</span>
					padd <span style="color: #008000;">&#40;</span> coeff1, exp1 <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
				<span style="color: #008000;">&#125;</span>
				temp2 <span style="color: #000080;">=</span> p2.<span style="color: #007788;">p</span> <span style="color: #008080;">;</span>
				temp1 <span style="color: #000080;">=</span> temp1 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> link <span style="color: #008080;">;</span>
			<span style="color: #008000;">&#125;</span>
		<span style="color: #008000;">&#125;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> poly <span style="color: #008080;">::</span> <span style="color: #007788;">padd</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">float</span> c, <span style="color: #0000ff;">int</span> e <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	polynode <span style="color: #000040;">*</span>r, <span style="color: #000040;">*</span>temp <span style="color: #008080;">;</span>
	temp <span style="color: #000080;">=</span> p <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> temp <span style="color: #000080;">==</span> <span style="color: #0000ff;">NULL</span> <span style="color: #000040;">||</span> c <span style="color: #000080;">&gt;</span> temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> <span style="color: #0000dd;">exp</span> <span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		r <span style="color: #000080;">=</span> <span style="color: #0000dd;">new</span> polynode <span style="color: #008080;">;</span>
		r <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> coeff <span style="color: #000080;">=</span> c <span style="color: #008080;">;</span>
		r <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> <span style="color: #0000dd;">exp</span> <span style="color: #000080;">=</span> e <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> p <span style="color: #000080;">==</span> <span style="color: #0000ff;">NULL</span> <span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			r <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> link <span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span> <span style="color: #008080;">;</span>
			p <span style="color: #000080;">=</span> r <span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
		<span style="color: #0000ff;">else</span>
		<span style="color: #008000;">&#123;</span>
			r <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> link <span style="color: #000080;">=</span> temp <span style="color: #008080;">;</span>
			p <span style="color: #000080;">=</span> r <span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">else</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span> temp <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span> <span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> <span style="color: #0000dd;">exp</span> <span style="color: #000080;">==</span> e <span style="color: #008000;">&#41;</span>
			<span style="color: #008000;">&#123;</span>
				temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> coeff <span style="color: #000040;">+</span><span style="color: #000080;">=</span> c <span style="color: #008080;">;</span>
				<span style="color: #0000ff;">return</span> <span style="color: #008080;">;</span>
			<span style="color: #008000;">&#125;</span>
			<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> <span style="color: #0000dd;">exp</span> <span style="color: #000080;">&gt;</span> c <span style="color: #000040;">&amp;&amp;</span> <span style="color: #008000;">&#40;</span> temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> link <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> <span style="color: #0000dd;">exp</span> <span style="color: #000080;">&lt;</span> c <span style="color: #000040;">||</span>
						temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> link <span style="color: #000080;">==</span> <span style="color: #0000ff;">NULL</span> <span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#41;</span>
			<span style="color: #008000;">&#123;</span>
				r <span style="color: #000080;">=</span> <span style="color: #0000dd;">new</span> polynode <span style="color: #008080;">;</span>
				r <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> coeff <span style="color: #000080;">=</span> c<span style="color: #008080;">;</span>
				r <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> <span style="color: #0000dd;">exp</span> <span style="color: #000080;">=</span> e <span style="color: #008080;">;</span>
				r <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> link <span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span> <span style="color: #008080;">;</span>
				temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> link <span style="color: #000080;">=</span> r <span style="color: #008080;">;</span>
				<span style="color: #0000ff;">return</span> <span style="color: #008080;">;</span>
			<span style="color: #008000;">&#125;</span>
			temp <span style="color: #000080;">=</span> temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> link <span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
		r <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> link <span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span> <span style="color: #008080;">;</span>
		temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> link <span style="color: #000080;">=</span> r <span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
poly <span style="color: #008080;">::</span> ~poly<span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	polynode <span style="color: #000040;">*</span>q <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span> p <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span> <span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		q <span style="color: #000080;">=</span> p <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> link <span style="color: #008080;">;</span>
		<span style="color: #0000dd;">delete</span> p <span style="color: #008080;">;</span>
		p <span style="color: #000080;">=</span> q <span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> main<span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	poly p1 <span style="color: #008080;">;</span>
	p1.<span style="color: #007788;">poly_append</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000dd;">3</span>, <span style="color: #0000dd;">5</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	p1.<span style="color: #007788;">poly_append</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000dd;">2</span>, <span style="color: #0000dd;">4</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	p1.<span style="color: #007788;">poly_append</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000dd;">1</span>, <span style="color: #0000dd;">2</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>First polynomial: &quot;</span> <span style="color: #000080;">&lt;&lt;</span> endl <span style="color: #008080;">;</span>
	p1.<span style="color: #007788;">display_poly</span><span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	poly p2 <span style="color: #008080;">;</span>
	p2.<span style="color: #007788;">poly_append</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000dd;">1</span>, <span style="color: #0000dd;">6</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	p2.<span style="color: #007788;">poly_append</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000dd;">2</span>, <span style="color: #0000dd;">5</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	p2.<span style="color: #007788;">poly_append</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000dd;">3</span>, <span style="color: #0000dd;">4</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>Second polynomial: &quot;</span> <span style="color: #000080;">&lt;&lt;</span> endl <span style="color: #008080;">;</span>
	p2.<span style="color: #007788;">display_poly</span><span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	poly p3 <span style="color: #008080;">;</span>
	p3.<span style="color: #007788;">poly_multiply</span> <span style="color: #008000;">&#40;</span> p1, p2 <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>Resultant polynomial: &quot;</span> <span style="color: #000080;">&lt;&lt;</span> endl <span style="color: #008080;">;</span>
	p3.<span style="color: #007788;">display_poly</span><span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://electrofriends.com/source-codes/software-programs/cpp-programs/cpp-data-structure/c-program-to-multiply-two-polynomials-maintained-as-linked-lists/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>C++ program to add two polynomials maintained using Linked Lists</title>
		<link>http://electrofriends.com/source-codes/software-programs/cpp-programs/cpp-data-structure/c-program-to-add-two-polynomials-maintained-using-linked-lists/</link>
		<comments>http://electrofriends.com/source-codes/software-programs/cpp-programs/cpp-data-structure/c-program-to-add-two-polynomials-maintained-using-linked-lists/#comments</comments>
		<pubDate>Thu, 03 Feb 2011 10:29:39 +0000</pubDate>
		<dc:creator>Ranjith</dc:creator>
				<category><![CDATA[Data structure]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[Linked Lists]]></category>
		<category><![CDATA[polynomials]]></category>
		<category><![CDATA[struct]]></category>

		<guid isPermaLink="false">http://electrofriends.com/?p=1246</guid>
		<description><![CDATA[#include &#60;iostream.h&#62; class poly &#123; private : struct polynode &#123; float coeff ; int exp ; polynode *link ; &#125; *p ; public : poly&#40; &#41; ; void poly_append &#40; float c, int e &#41; ; void display_poly&#40; &#41; ; void poly_add&#40; poly &#38;l1, poly &#38;l2 &#41; ; ~poly&#40; &#41; ; &#125; ; poly :: [...]]]></description>
			<content:encoded><![CDATA[
<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include &lt;iostream.h&gt;</span>
<span style="color: #0000ff;">class</span> poly
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">private</span> <span style="color: #008080;">:</span>
		<span style="color: #0000ff;">struct</span> polynode
		<span style="color: #008000;">&#123;</span>
			<span style="color: #0000ff;">float</span> coeff <span style="color: #008080;">;</span>
			<span style="color: #0000ff;">int</span> <span style="color: #0000dd;">exp</span> <span style="color: #008080;">;</span>
			polynode <span style="color: #000040;">*</span>link <span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span> <span style="color: #000040;">*</span>p <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">public</span> <span style="color: #008080;">:</span>
		poly<span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">void</span> poly_append <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">float</span> c, <span style="color: #0000ff;">int</span> e <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">void</span> display_poly<span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">void</span> poly_add<span style="color: #008000;">&#40;</span> poly <span style="color: #000040;">&amp;</span>l1, poly <span style="color: #000040;">&amp;</span>l2 <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		~poly<span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span> <span style="color: #008080;">;</span>
poly <span style="color: #008080;">::</span> <span style="color: #007788;">poly</span><span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	p <span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span> <span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> poly <span style="color: #008080;">::</span> <span style="color: #007788;">poly_append</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">float</span> c, <span style="color: #0000ff;">int</span> e <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	polynode <span style="color: #000040;">*</span>temp <span style="color: #000080;">=</span> p <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> temp <span style="color: #000080;">==</span> <span style="color: #0000ff;">NULL</span> <span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		temp <span style="color: #000080;">=</span> <span style="color: #0000dd;">new</span> polynode <span style="color: #008080;">;</span>
		p <span style="color: #000080;">=</span> temp <span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">else</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span> temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> link <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span> <span style="color: #008000;">&#41;</span>
			temp <span style="color: #000080;">=</span> temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> link <span style="color: #008080;">;</span>
		temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> link <span style="color: #000080;">=</span> <span style="color: #0000dd;">new</span> polynode <span style="color: #008080;">;</span>
		temp <span style="color: #000080;">=</span> temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> link <span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> coeff <span style="color: #000080;">=</span> c <span style="color: #008080;">;</span>
	temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> <span style="color: #0000dd;">exp</span> <span style="color: #000080;">=</span> e <span style="color: #008080;">;</span>
	temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> link <span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span> <span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> poly <span style="color: #008080;">::</span> <span style="color: #007788;">display_poly</span><span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	polynode <span style="color: #000040;">*</span>temp <span style="color: #000080;">=</span> p <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> f <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span> <span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> endl <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span> temp <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span> <span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> f <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span> <span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> coeff <span style="color: #000080;">&gt;</span> <span style="color: #0000dd;">0</span> <span style="color: #008000;">&#41;</span>
				<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot; + &quot;</span> <span style="color: #008080;">;</span>
			<span style="color: #0000ff;">else</span>
				<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot; &quot;</span> <span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> <span style="color: #0000dd;">exp</span> <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span> <span style="color: #008000;">&#41;</span>
			<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> coeff <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;x^&quot;</span> <span style="color: #000080;">&lt;&lt;</span> temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> <span style="color: #0000dd;">exp</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">else</span>
			<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> coeff <span style="color: #008080;">;</span>
		temp <span style="color: #000080;">=</span> temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> link <span style="color: #008080;">;</span>
		f <span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span> <span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> poly <span style="color: #008080;">::</span> <span style="color: #007788;">poly_add</span> <span style="color: #008000;">&#40;</span> poly <span style="color: #000040;">&amp;</span>l1, poly <span style="color: #000040;">&amp;</span>l2 <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	polynode <span style="color: #000040;">*</span>z <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> l1.<span style="color: #007788;">p</span> <span style="color: #000080;">==</span> <span style="color: #0000ff;">NULL</span> <span style="color: #000040;">&amp;&amp;</span> l2.<span style="color: #007788;">p</span> <span style="color: #000080;">==</span> <span style="color: #0000ff;">NULL</span> <span style="color: #008000;">&#41;</span>
		<span style="color: #0000ff;">return</span> <span style="color: #008080;">;</span>
	polynode <span style="color: #000040;">*</span>temp1, <span style="color: #000040;">*</span>temp2 <span style="color: #008080;">;</span>
	temp1 <span style="color: #000080;">=</span> l1.<span style="color: #007788;">p</span> <span style="color: #008080;">;</span>
	temp2 <span style="color: #000080;">=</span> l2.<span style="color: #007788;">p</span> <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span> temp1 <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span> <span style="color: #000040;">&amp;&amp;</span> temp2 <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span> <span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> p <span style="color: #000080;">==</span> <span style="color: #0000ff;">NULL</span> <span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			p <span style="color: #000080;">=</span> <span style="color: #0000dd;">new</span> polynode <span style="color: #008080;">;</span>
			z <span style="color: #000080;">=</span> p <span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
		<span style="color: #0000ff;">else</span>
		<span style="color: #008000;">&#123;</span>
			z <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> link <span style="color: #000080;">=</span> <span style="color: #0000dd;">new</span> polynode <span style="color: #008080;">;</span>
			z <span style="color: #000080;">=</span> z <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> link <span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> temp1 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> <span style="color: #0000dd;">exp</span> <span style="color: #000080;">&lt;</span> temp2 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> <span style="color: #0000dd;">exp</span> <span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			z <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> coeff <span style="color: #000080;">=</span> temp2 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> coeff <span style="color: #008080;">;</span>
			z <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> <span style="color: #0000dd;">exp</span> <span style="color: #000080;">=</span> temp2 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> <span style="color: #0000dd;">exp</span> <span style="color: #008080;">;</span>
			temp2 <span style="color: #000080;">=</span> temp2 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> link <span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
		<span style="color: #0000ff;">else</span>
		<span style="color: #008000;">&#123;</span>
			<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> temp1 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> <span style="color: #0000dd;">exp</span> <span style="color: #000080;">&gt;</span> temp2 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> <span style="color: #0000dd;">exp</span> <span style="color: #008000;">&#41;</span>
			<span style="color: #008000;">&#123;</span>
				z <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> coeff <span style="color: #000080;">=</span> temp1 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> coeff <span style="color: #008080;">;</span>
				z <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> <span style="color: #0000dd;">exp</span> <span style="color: #000080;">=</span> temp1 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> <span style="color: #0000dd;">exp</span> <span style="color: #008080;">;</span>
				temp1 <span style="color: #000080;">=</span> temp1 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> link <span style="color: #008080;">;</span>
			<span style="color: #008000;">&#125;</span>
			<span style="color: #0000ff;">else</span>
			<span style="color: #008000;">&#123;</span>
				<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> temp1 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> <span style="color: #0000dd;">exp</span> <span style="color: #000080;">==</span> temp2 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> <span style="color: #0000dd;">exp</span> <span style="color: #008000;">&#41;</span>
				<span style="color: #008000;">&#123;</span>
					z <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> coeff <span style="color: #000080;">=</span> temp1 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> coeff <span style="color: #000040;">+</span> temp2 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> coeff <span style="color: #008080;">;</span>
					z <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> <span style="color: #0000dd;">exp</span> <span style="color: #000080;">=</span> temp1 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> <span style="color: #0000dd;">exp</span> <span style="color: #008080;">;</span>
					temp1 <span style="color: #000080;">=</span> temp1 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> link <span style="color: #008080;">;</span>
					temp2 <span style="color: #000080;">=</span> temp2 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> link <span style="color: #008080;">;</span>
				<span style="color: #008000;">&#125;</span>
			<span style="color: #008000;">&#125;</span>
		<span style="color: #008000;">&#125;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span> temp1 <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span> <span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> p <span style="color: #000080;">==</span> <span style="color: #0000ff;">NULL</span> <span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			p <span style="color: #000080;">=</span> <span style="color: #0000dd;">new</span> polynode <span style="color: #008080;">;</span>
			z <span style="color: #000080;">=</span> p <span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
		<span style="color: #0000ff;">else</span>
		<span style="color: #008000;">&#123;</span>
			z <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> link <span style="color: #000080;">=</span> <span style="color: #0000dd;">new</span> polynode <span style="color: #008080;">;</span>
			z <span style="color: #000080;">=</span> z <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> link <span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
		z <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> coeff <span style="color: #000080;">=</span> temp1 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> coeff <span style="color: #008080;">;</span>
		z <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> <span style="color: #0000dd;">exp</span> <span style="color: #000080;">=</span> temp1 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> <span style="color: #0000dd;">exp</span> <span style="color: #008080;">;</span>
		temp1 <span style="color: #000080;">=</span> temp1 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> link <span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span> temp2 <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span> <span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> p <span style="color: #000080;">==</span> <span style="color: #0000ff;">NULL</span> <span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			p <span style="color: #000080;">=</span> <span style="color: #0000dd;">new</span> polynode <span style="color: #008080;">;</span>
			z <span style="color: #000080;">=</span> p <span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
		<span style="color: #0000ff;">else</span>
		<span style="color: #008000;">&#123;</span>
			z <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> link <span style="color: #000080;">=</span> <span style="color: #0000dd;">new</span>  polynode <span style="color: #008080;">;</span>
			z <span style="color: #000080;">=</span> z <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> link <span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
		z <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> coeff <span style="color: #000080;">=</span> temp2 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> coeff <span style="color: #008080;">;</span>
		z <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> <span style="color: #0000dd;">exp</span> <span style="color: #000080;">=</span> temp2 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> <span style="color: #0000dd;">exp</span> <span style="color: #008080;">;</span>
		temp2 <span style="color: #000080;">=</span> temp2 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> link <span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	z <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> link <span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span> <span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
poly <span style="color: #008080;">::</span> ~poly<span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	polynode <span style="color: #000040;">*</span>q <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span> p <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span> <span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		q <span style="color: #000080;">=</span> p <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> link <span style="color: #008080;">;</span>
		<span style="color: #0000dd;">delete</span> p <span style="color: #008080;">;</span>
		p <span style="color: #000080;">=</span> q <span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> main<span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	poly p1 <span style="color: #008080;">;</span>
	p1.<span style="color: #007788;">poly_append</span> <span style="color: #008000;">&#40;</span> <span style="color:#800080;">1.4</span>, <span style="color: #0000dd;">5</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	p1.<span style="color: #007788;">poly_append</span> <span style="color: #008000;">&#40;</span> <span style="color:#800080;">1.5</span>, <span style="color: #0000dd;">4</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	p1.<span style="color: #007788;">poly_append</span> <span style="color: #008000;">&#40;</span> <span style="color:#800080;">1.7</span>, <span style="color: #0000dd;">2</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	p1.<span style="color: #007788;">poly_append</span> <span style="color: #008000;">&#40;</span> <span style="color:#800080;">1.8</span>, <span style="color: #0000dd;">1</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	p1.<span style="color: #007788;">poly_append</span> <span style="color: #008000;">&#40;</span> <span style="color:#800080;">1.9</span>, <span style="color: #0000dd;">0</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>First polynomial:&quot;</span> <span style="color: #008080;">;</span>
	p1.<span style="color: #007788;">display_poly</span><span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	poly p2 <span style="color: #008080;">;</span>
	p2.<span style="color: #007788;">poly_append</span> <span style="color: #008000;">&#40;</span> <span style="color:#800080;">1.5</span>, <span style="color: #0000dd;">6</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	p2.<span style="color: #007788;">poly_append</span> <span style="color: #008000;">&#40;</span> <span style="color:#800080;">2.5</span>, <span style="color: #0000dd;">5</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	p2.<span style="color: #007788;">poly_append</span> <span style="color: #008000;">&#40;</span> <span style="color: #000040;">-</span><span style="color:#800080;">3.5</span>, <span style="color: #0000dd;">4</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	p2.<span style="color: #007788;">poly_append</span> <span style="color: #008000;">&#40;</span> <span style="color:#800080;">4.5</span>, <span style="color: #0000dd;">3</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	p2.<span style="color: #007788;">poly_append</span> <span style="color: #008000;">&#40;</span> <span style="color:#800080;">6.5</span>, <span style="color: #0000dd;">1</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>Second polynomial:&quot;</span> <span style="color: #008080;">;</span>
	p2.<span style="color: #007788;">display_poly</span><span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	poly p3 <span style="color: #008080;">;</span>
	p3.<span style="color: #007788;">poly_add</span> <span style="color: #008000;">&#40;</span> p1, p2 <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>Resultant polynomial: &quot;</span> <span style="color: #008080;">;</span>
	p3.<span style="color: #007788;">display_poly</span><span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://electrofriends.com/source-codes/software-programs/cpp-programs/cpp-data-structure/c-program-to-add-two-polynomials-maintained-using-linked-lists/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>C++ program to implement B-Trees</title>
		<link>http://electrofriends.com/source-codes/software-programs/cpp-programs/cpp-data-structure/c-program-to-implement-b-trees/</link>
		<comments>http://electrofriends.com/source-codes/software-programs/cpp-programs/cpp-data-structure/c-program-to-implement-b-trees/#comments</comments>
		<pubDate>Wed, 02 Feb 2011 12:27:29 +0000</pubDate>
		<dc:creator>Ranjith</dc:creator>
				<category><![CDATA[Data structure]]></category>
		<category><![CDATA[B trees]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[linked list]]></category>

		<guid isPermaLink="false">http://electrofriends.com/?p=1277</guid>
		<description><![CDATA[#include &#60;iostream.h&#62; #include &#60;stdlib.h&#62; #include &#60;alloc.h&#62; const int MAX = 4 ; const int MIN = 2 ; struct btnode &#123; int count ; int value&#91;MAX + 1&#93; ; btnode *child&#91;MAX + 1&#93; ; &#125; ; class btree &#123; private : btnode *root ; public : btree&#40; &#41; ; void insert &#40; int val &#41; [...]]]></description>
			<content:encoded><![CDATA[
<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include &lt;iostream.h&gt;</span>
<span style="color: #339900;">#include &lt;stdlib.h&gt;</span>
<span style="color: #339900;">#include &lt;alloc.h&gt;</span>
<span style="color: #0000ff;">const</span> <span style="color: #0000ff;">int</span> MAX <span style="color: #000080;">=</span> <span style="color: #0000dd;">4</span> <span style="color: #008080;">;</span>
<span style="color: #0000ff;">const</span> <span style="color: #0000ff;">int</span> MIN <span style="color: #000080;">=</span> <span style="color: #0000dd;">2</span> <span style="color: #008080;">;</span>
<span style="color: #0000ff;">struct</span> btnode
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">int</span> count <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> value<span style="color: #008000;">&#91;</span>MAX <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #008080;">;</span>
	btnode <span style="color: #000040;">*</span>child<span style="color: #008000;">&#91;</span>MAX <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span> <span style="color: #008080;">;</span>
<span style="color: #0000ff;">class</span> btree
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">private</span> <span style="color: #008080;">:</span>
		btnode <span style="color: #000040;">*</span>root <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">public</span> <span style="color: #008080;">:</span>
		btree<span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">void</span> insert <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">int</span> val <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">int</span> setval <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">int</span> val, btnode <span style="color: #000040;">*</span>n, <span style="color: #0000ff;">int</span> <span style="color: #000040;">*</span>p, btnode <span style="color: #000040;">**</span>c <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">static</span> btnode <span style="color: #000040;">*</span> search <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">int</span> val, btnode <span style="color: #000040;">*</span>root, <span style="color: #0000ff;">int</span> <span style="color: #000040;">*</span>pos <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">static</span> <span style="color: #0000ff;">int</span> searchnode <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">int</span> val, btnode <span style="color: #000040;">*</span>n, <span style="color: #0000ff;">int</span> <span style="color: #000040;">*</span>pos <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">void</span> fillnode <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">int</span> val, btnode <span style="color: #000040;">*</span>c, btnode <span style="color: #000040;">*</span>n, <span style="color: #0000ff;">int</span> k <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">void</span> split <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">int</span> val, btnode <span style="color: #000040;">*</span>c, btnode <span style="color: #000040;">*</span>n,
				<span style="color: #0000ff;">int</span> k, <span style="color: #0000ff;">int</span> <span style="color: #000040;">*</span>y, btnode <span style="color: #000040;">**</span>newnode <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">void</span> del <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">int</span> val <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">int</span> delhelp <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">int</span> val, btnode <span style="color: #000040;">*</span>root <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">void</span> clear <span style="color: #008000;">&#40;</span> btnode <span style="color: #000040;">*</span>root, <span style="color: #0000ff;">int</span> k <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">void</span> copysucc <span style="color: #008000;">&#40;</span> btnode <span style="color: #000040;">*</span>root, <span style="color: #0000ff;">int</span> i <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">void</span> restore <span style="color: #008000;">&#40;</span> btnode <span style="color: #000040;">*</span>root, <span style="color: #0000ff;">int</span> i <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">void</span> rightshift <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">int</span> k <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">void</span> leftshift <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">int</span> k <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">void</span> merge <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">int</span> k <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">void</span> show<span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">static</span> <span style="color: #0000ff;">void</span> display <span style="color: #008000;">&#40;</span> btnode <span style="color: #000040;">*</span>root <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">static</span> <span style="color: #0000ff;">void</span> deltree <span style="color: #008000;">&#40;</span> btnode <span style="color: #000040;">*</span>root <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		~btree<span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span> <span style="color: #008080;">;</span>
&nbsp;
btree <span style="color: #008080;">::</span> <span style="color: #007788;">btree</span><span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	root <span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span> <span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> btree <span style="color: #008080;">::</span> <span style="color: #007788;">insert</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">int</span> val <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">int</span> i <span style="color: #008080;">;</span>
	btnode <span style="color: #000040;">*</span>c, <span style="color: #000040;">*</span>n <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> flag <span style="color: #008080;">;</span>
	flag <span style="color: #000080;">=</span> setval <span style="color: #008000;">&#40;</span> val, root, <span style="color: #000040;">&amp;</span>i, <span style="color: #000040;">&amp;</span>c <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> flag <span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		n <span style="color: #000080;">=</span> <span style="color: #0000dd;">new</span> btnode <span style="color: #008080;">;</span>
		n <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> count <span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span> <span style="color: #008080;">;</span>
		n <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> value<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> i <span style="color: #008080;">;</span>
		n <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> root <span style="color: #008080;">;</span>
		n <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> c <span style="color: #008080;">;</span>
		root <span style="color: #000080;">=</span> n <span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">int</span> btree <span style="color: #008080;">::</span> <span style="color: #007788;">setval</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">int</span> val, btnode <span style="color: #000040;">*</span>n, <span style="color: #0000ff;">int</span> <span style="color: #000040;">*</span>p, btnode <span style="color: #000040;">**</span>c <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">int</span> k <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> n <span style="color: #000080;">==</span> <span style="color: #0000ff;">NULL</span> <span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #000040;">*</span>p <span style="color: #000080;">=</span> val <span style="color: #008080;">;</span>
		<span style="color: #000040;">*</span>c <span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">return</span> <span style="color: #0000dd;">1</span> <span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">else</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> searchnode <span style="color: #008000;">&#40;</span> val, n, <span style="color: #000040;">&amp;</span>k <span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#41;</span>
			<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> endl <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;Key value already exists.&quot;</span> <span style="color: #000080;">&lt;&lt;</span> endl <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> setval <span style="color: #008000;">&#40;</span> val, n <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child<span style="color: #008000;">&#91;</span>k<span style="color: #008000;">&#93;</span>, p, c <span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> n <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> count <span style="color: #000080;">&lt;</span> MAX <span style="color: #008000;">&#41;</span>
			<span style="color: #008000;">&#123;</span>
				fillnode <span style="color: #008000;">&#40;</span> <span style="color: #000040;">*</span>p, <span style="color: #000040;">*</span>c, n, k <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
				<span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span> <span style="color: #008080;">;</span>
			<span style="color: #008000;">&#125;</span>
			<span style="color: #0000ff;">else</span>
			<span style="color: #008000;">&#123;</span>
				split <span style="color: #008000;">&#40;</span> <span style="color: #000040;">*</span>p, <span style="color: #000040;">*</span>c, n, k, p, c <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
				<span style="color: #0000ff;">return</span> <span style="color: #0000dd;">1</span> <span style="color: #008080;">;</span>
			<span style="color: #008000;">&#125;</span>
		<span style="color: #008000;">&#125;</span>
		<span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span> <span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
btnode <span style="color: #000040;">*</span> btree <span style="color: #008080;">::</span> <span style="color: #007788;">search</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">int</span> val, btnode <span style="color: #000040;">*</span>root, <span style="color: #0000ff;">int</span> <span style="color: #000040;">*</span>pos <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> root <span style="color: #000080;">==</span> <span style="color: #0000ff;">NULL</span> <span style="color: #008000;">&#41;</span>
		<span style="color: #0000ff;">return</span> <span style="color: #0000ff;">NULL</span> <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">else</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> searchnode <span style="color: #008000;">&#40;</span> val, root, pos <span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#41;</span>
			<span style="color: #0000ff;">return</span> root <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">else</span>
			<span style="color: #0000ff;">return</span> search <span style="color: #008000;">&#40;</span> val, root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child<span style="color: #008000;">&#91;</span><span style="color: #000040;">*</span>pos<span style="color: #008000;">&#93;</span>, pos <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">int</span> btree <span style="color: #008080;">::</span> <span style="color: #007788;">searchnode</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">int</span> val, btnode <span style="color: #000040;">*</span>n, <span style="color: #0000ff;">int</span> <span style="color: #000040;">*</span>pos <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> val <span style="color: #000080;">&lt;</span> n <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> value<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #000040;">*</span>pos <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span> <span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">else</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #000040;">*</span>pos <span style="color: #000080;">=</span> n <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> count <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#40;</span> val <span style="color: #000080;">&lt;</span> n <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> value<span style="color: #008000;">&#91;</span><span style="color: #000040;">*</span>pos<span style="color: #008000;">&#93;</span> <span style="color: #008000;">&#41;</span> <span style="color: #000040;">&amp;&amp;</span> <span style="color: #000040;">*</span>pos <span style="color: #000080;">&gt;</span> <span style="color: #0000dd;">1</span> <span style="color: #008000;">&#41;</span>
			<span style="color: #008000;">&#40;</span> <span style="color: #000040;">*</span>pos <span style="color: #008000;">&#41;</span><span style="color: #000040;">--</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> val <span style="color: #000080;">==</span> n <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> value<span style="color: #008000;">&#91;</span><span style="color: #000040;">*</span>pos<span style="color: #008000;">&#93;</span> <span style="color: #008000;">&#41;</span>
			<span style="color: #0000ff;">return</span> <span style="color: #0000dd;">1</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">else</span>
			<span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span> <span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> btree <span style="color: #008080;">::</span> <span style="color: #007788;">fillnode</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">int</span> val, btnode <span style="color: #000040;">*</span>c, btnode <span style="color: #000040;">*</span>n, <span style="color: #0000ff;">int</span> k <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">int</span> i <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span> i <span style="color: #000080;">=</span> n <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> count <span style="color: #008080;">;</span> i <span style="color: #000080;">&gt;</span> k <span style="color: #008080;">;</span> i<span style="color: #000040;">--</span> <span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		n <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> value<span style="color: #008000;">&#91;</span>i <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> n <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> value<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #008080;">;</span>
		n <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child<span style="color: #008000;">&#91;</span>i <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> n <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	n <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> value<span style="color: #008000;">&#91;</span>k <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> val <span style="color: #008080;">;</span>
	n <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child<span style="color: #008000;">&#91;</span>k <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> c <span style="color: #008080;">;</span>
	n <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> count<span style="color: #000040;">++</span> <span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> btree <span style="color: #008080;">::</span> <span style="color: #007788;">split</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">int</span> val, btnode <span style="color: #000040;">*</span>c, btnode <span style="color: #000040;">*</span>n,
		<span style="color: #0000ff;">int</span> k, <span style="color: #0000ff;">int</span> <span style="color: #000040;">*</span>y, btnode <span style="color: #000040;">**</span>newnode <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">int</span> i, mid <span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> k <span style="color: #000080;">&lt;=</span> MIN <span style="color: #008000;">&#41;</span>
		mid <span style="color: #000080;">=</span> MIN <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">else</span>
		mid <span style="color: #000080;">=</span> MIN <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span> <span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #000040;">*</span>newnode <span style="color: #000080;">=</span> <span style="color: #0000dd;">new</span> btnode <span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span> i <span style="color: #000080;">=</span> mid <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span> <span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;=</span> MAX <span style="color: #008080;">;</span> i<span style="color: #000040;">++</span> <span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #008000;">&#40;</span> <span style="color: #000040;">*</span>newnode <span style="color: #008000;">&#41;</span> <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> value<span style="color: #008000;">&#91;</span>i <span style="color: #000040;">-</span> mid<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> n <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> value<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #008080;">;</span>
		<span style="color: #008000;">&#40;</span> <span style="color: #000040;">*</span>newnode <span style="color: #008000;">&#41;</span> <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child<span style="color: #008000;">&#91;</span>i <span style="color: #000040;">-</span> mid<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> n <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
&nbsp;
	<span style="color: #008000;">&#40;</span> <span style="color: #000040;">*</span>newnode <span style="color: #008000;">&#41;</span> <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> count <span style="color: #000080;">=</span> MAX <span style="color: #000040;">-</span> mid <span style="color: #008080;">;</span>
	n <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> count <span style="color: #000080;">=</span> mid <span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> k <span style="color: #000080;">&lt;=</span> MIN <span style="color: #008000;">&#41;</span>
		fillnode <span style="color: #008000;">&#40;</span> val, c, n, k <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">else</span>
		fillnode <span style="color: #008000;">&#40;</span> val, c, <span style="color: #000040;">*</span>newnode, k <span style="color: #000040;">-</span> mid <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #000040;">*</span>y <span style="color: #000080;">=</span> n <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> value<span style="color: #008000;">&#91;</span>n <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> count<span style="color: #008000;">&#93;</span> <span style="color: #008080;">;</span>
	<span style="color: #008000;">&#40;</span> <span style="color: #000040;">*</span>newnode <span style="color: #008000;">&#41;</span> <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> n <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child<span style="color: #008000;">&#91;</span>n <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> count<span style="color: #008000;">&#93;</span> <span style="color: #008080;">;</span>
	n <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> count<span style="color: #000040;">--</span> <span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> btree <span style="color: #008080;">::</span> <span style="color: #007788;">del</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">int</span> val <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	btnode <span style="color: #000040;">*</span> temp <span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> <span style="color: #000040;">!</span> delhelp <span style="color: #008000;">&#40;</span> val, root <span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#41;</span>
		<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> endl <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;Value &quot;</span> <span style="color: #000080;">&lt;&lt;</span> val <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot; not found.&quot;</span> <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">else</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> count <span style="color: #000080;">==</span> <span style="color: #0000dd;">0</span> <span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			temp <span style="color: #000080;">=</span> root <span style="color: #008080;">;</span>
			root <span style="color: #000080;">=</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span> <span style="color: #008080;">;</span>
			<span style="color: #0000dd;">delete</span> temp <span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">int</span> btree <span style="color: #008080;">::</span> <span style="color: #007788;">delhelp</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">int</span> val, btnode <span style="color: #000040;">*</span>root <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">int</span> i <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> flag <span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> root <span style="color: #000080;">==</span> <span style="color: #0000ff;">NULL</span> <span style="color: #008000;">&#41;</span>
		<span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span> <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">else</span>
	<span style="color: #008000;">&#123;</span>
		flag <span style="color: #000080;">=</span> searchnode <span style="color: #008000;">&#40;</span> val, root, <span style="color: #000040;">&amp;</span>i <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> flag <span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child<span style="color: #008000;">&#91;</span>i <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #008000;">&#41;</span>
			<span style="color: #008000;">&#123;</span>
				copysucc <span style="color: #008000;">&#40;</span> root, i <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
				flag <span style="color: #000080;">=</span> delhelp <span style="color: #008000;">&#40;</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> value<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span>, root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
				<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> <span style="color: #000040;">!</span>flag <span style="color: #008000;">&#41;</span>
					<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> endl <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;Value &quot;</span> <span style="color: #000080;">&lt;&lt;</span> val <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot; not found.&quot;</span> <span style="color: #008080;">;</span>
			<span style="color: #008000;">&#125;</span>
			<span style="color: #0000ff;">else</span>
				clear <span style="color: #008000;">&#40;</span> root, i <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
		<span style="color: #0000ff;">else</span>
			flag <span style="color: #000080;">=</span> delhelp <span style="color: #008000;">&#40;</span> val, root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span> <span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> count <span style="color: #000080;">&lt;</span> MIN <span style="color: #008000;">&#41;</span>
				restore <span style="color: #008000;">&#40;</span> root, i <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
		<span style="color: #0000ff;">return</span> flag <span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> btree <span style="color: #008080;">::</span> <span style="color: #007788;">clear</span> <span style="color: #008000;">&#40;</span> btnode <span style="color: #000040;">*</span>root, <span style="color: #0000ff;">int</span> k <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">int</span> i <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span> i <span style="color: #000080;">=</span> k <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span> <span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;=</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> count <span style="color: #008080;">;</span> i<span style="color: #000040;">++</span> <span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> value<span style="color: #008000;">&#91;</span>i <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> value<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #008080;">;</span>
		root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child<span style="color: #008000;">&#91;</span>i <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> count<span style="color: #000040;">--</span> <span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> btree <span style="color: #008080;">::</span> <span style="color: #007788;">copysucc</span> <span style="color: #008000;">&#40;</span> btnode <span style="color: #000040;">*</span>root, <span style="color: #0000ff;">int</span> i <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	btnode <span style="color: #000040;">*</span>temp <span style="color: #000080;">=</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span> temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span> <span style="color: #008000;">&#41;</span>
		temp <span style="color: #000080;">=</span> temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span> <span style="color: #008080;">;</span>
&nbsp;
	root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> value<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> value<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> btree <span style="color: #008080;">::</span> <span style="color: #007788;">restore</span> <span style="color: #008000;">&#40;</span> btnode <span style="color: #000040;">*</span>root, <span style="color: #0000ff;">int</span> i <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> i <span style="color: #000080;">==</span> <span style="color: #0000dd;">0</span> <span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child <span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> count <span style="color: #000080;">&gt;</span> MIN <span style="color: #008000;">&#41;</span>
			leftshift <span style="color: #008000;">&#40;</span> <span style="color: #0000dd;">1</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">else</span>
			merge <span style="color: #008000;">&#40;</span> <span style="color: #0000dd;">1</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">else</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> i <span style="color: #000080;">==</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> count <span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child<span style="color: #008000;">&#91;</span>i <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> count <span style="color: #000080;">&gt;</span> MIN <span style="color: #008000;">&#41;</span>
				rightshift <span style="color: #008000;">&#40;</span> i <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
			<span style="color: #0000ff;">else</span>
				merge <span style="color: #008000;">&#40;</span> i <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
		<span style="color: #0000ff;">else</span>
		<span style="color: #008000;">&#123;</span>
			<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child<span style="color: #008000;">&#91;</span>i <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> count <span style="color: #000080;">&gt;</span> MIN <span style="color: #008000;">&#41;</span>
				rightshift <span style="color: #008000;">&#40;</span> i <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
			<span style="color: #0000ff;">else</span>
			<span style="color: #008000;">&#123;</span>
				<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child<span style="color: #008000;">&#91;</span>i <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> count <span style="color: #000080;">&gt;</span> MIN <span style="color: #008000;">&#41;</span>
					leftshift <span style="color: #008000;">&#40;</span> i <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
				<span style="color: #0000ff;">else</span>
					merge <span style="color: #008000;">&#40;</span> i <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
			<span style="color: #008000;">&#125;</span>
		<span style="color: #008000;">&#125;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> btree <span style="color: #008080;">::</span> <span style="color: #007788;">rightshift</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">int</span> k <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">int</span> i <span style="color: #008080;">;</span>
	btnode <span style="color: #000040;">*</span>temp <span style="color: #008080;">;</span>
&nbsp;
	temp <span style="color: #000080;">=</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child<span style="color: #008000;">&#91;</span>k<span style="color: #008000;">&#93;</span> <span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span> i <span style="color: #000080;">=</span> temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> count <span style="color: #008080;">;</span> i <span style="color: #000080;">&gt;</span> <span style="color: #0000dd;">0</span> <span style="color: #008080;">;</span> i<span style="color: #000040;">--</span> <span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> value<span style="color: #008000;">&#91;</span>i <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> value<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #008080;">;</span>
		temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child<span style="color: #008000;">&#91;</span>i <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
&nbsp;
	temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span> <span style="color: #008080;">;</span>
	temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> count<span style="color: #000040;">++</span> <span style="color: #008080;">;</span>
	temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> value<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> value<span style="color: #008000;">&#91;</span>k<span style="color: #008000;">&#93;</span> <span style="color: #008080;">;</span>
	temp <span style="color: #000080;">=</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child<span style="color: #008000;">&#91;</span>k <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #008080;">;</span>
	root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> value<span style="color: #008000;">&#91;</span>k<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> value<span style="color: #008000;">&#91;</span>temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> count<span style="color: #008000;">&#93;</span> <span style="color: #008080;">;</span>
	root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child<span style="color: #008000;">&#91;</span>k<span style="color: #008000;">&#93;</span> <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child <span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child<span style="color: #008000;">&#91;</span>temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> count<span style="color: #008000;">&#93;</span> <span style="color: #008080;">;</span>
	temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> count<span style="color: #000040;">--</span> <span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> btree <span style="color: #008080;">::</span> <span style="color: #007788;">leftshift</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">int</span> k <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	btnode <span style="color: #000040;">*</span>temp <span style="color: #008080;">;</span>
&nbsp;
	temp <span style="color: #000080;">=</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child<span style="color: #008000;">&#91;</span>k <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #008080;">;</span>
	temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> count<span style="color: #000040;">++</span> <span style="color: #008080;">;</span>
	temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> value<span style="color: #008000;">&#91;</span>temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> count<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> value<span style="color: #008000;">&#91;</span>k<span style="color: #008000;">&#93;</span> <span style="color: #008080;">;</span>
	temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child<span style="color: #008000;">&#91;</span>temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> count<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child<span style="color: #008000;">&#91;</span>k<span style="color: #008000;">&#93;</span> <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span> <span style="color: #008080;">;</span>
	temp <span style="color: #000080;">=</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child<span style="color: #008000;">&#91;</span>k<span style="color: #008000;">&#93;</span> <span style="color: #008080;">;</span>
	root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> value<span style="color: #008000;">&#91;</span>k<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> value<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #008080;">;</span>
	temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #008080;">;</span>
	temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> count<span style="color: #000040;">--</span> <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span> <span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;=</span> temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> count <span style="color: #008080;">;</span> i<span style="color: #000040;">++</span> <span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> value<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> value<span style="color: #008000;">&#91;</span>i <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #008080;">;</span>
		temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child<span style="color: #008000;">&#91;</span>i <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> btree <span style="color: #008080;">::</span> <span style="color: #007788;">merge</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">int</span> k <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	btnode <span style="color: #000040;">*</span>temp1, <span style="color: #000040;">*</span>temp2 <span style="color: #008080;">;</span>
	temp1 <span style="color: #000080;">=</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child<span style="color: #008000;">&#91;</span>k<span style="color: #008000;">&#93;</span> <span style="color: #008080;">;</span>
	temp2 <span style="color: #000080;">=</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child<span style="color: #008000;">&#91;</span>k <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #008080;">;</span>
	temp2 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> count<span style="color: #000040;">++</span> <span style="color: #008080;">;</span>
	temp2 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> value<span style="color: #008000;">&#91;</span>temp2 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> count<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> value<span style="color: #008000;">&#91;</span>k<span style="color: #008000;">&#93;</span> <span style="color: #008080;">;</span>
	temp2 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child<span style="color: #008000;">&#91;</span>temp2 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> count<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span> <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span> <span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;=</span> temp1 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> count <span style="color: #008080;">;</span> i<span style="color: #000040;">++</span> <span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		temp2 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> count<span style="color: #000040;">++</span> <span style="color: #008080;">;</span>
		temp2 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> value<span style="color: #008000;">&#91;</span>temp2 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> count<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> temp1 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> value<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #008080;">;</span>
		temp2 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child<span style="color: #008000;">&#91;</span>temp2 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> count<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> temp1 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span> i <span style="color: #000080;">=</span> k <span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> count <span style="color: #008080;">;</span> i<span style="color: #000040;">++</span> <span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> value<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> value<span style="color: #008000;">&#91;</span>i <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #008080;">;</span>
		root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child<span style="color: #008000;">&#91;</span>i <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> count<span style="color: #000040;">--</span> <span style="color: #008080;">;</span>
	<span style="color: #0000dd;">delete</span> temp1 <span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> btree <span style="color: #008080;">::</span> <span style="color: #007788;">show</span><span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	display <span style="color: #008000;">&#40;</span> root <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> btree <span style="color: #008080;">::</span> <span style="color: #007788;">display</span> <span style="color: #008000;">&#40;</span> btnode <span style="color: #000040;">*</span>root <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> root <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span> <span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span> <span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> count <span style="color: #008080;">;</span> i<span style="color: #000040;">++</span> <span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			display <span style="color: #008000;">&#40;</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
			<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> value<span style="color: #008000;">&#91;</span>i <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\t</span>&quot;</span> <span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
		display <span style="color: #008000;">&#40;</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> btree <span style="color: #008080;">::</span> <span style="color: #007788;">deltree</span> <span style="color: #008000;">&#40;</span> btnode <span style="color: #000040;">*</span>root <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> root <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span> <span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span> <span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> count <span style="color: #008080;">;</span> i<span style="color: #000040;">++</span> <span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			deltree <span style="color: #008000;">&#40;</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
			<span style="color: #0000dd;">delete</span> <span style="color: #008000;">&#40;</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
		deltree <span style="color: #008000;">&#40;</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #0000dd;">delete</span> <span style="color: #008000;">&#40;</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> child<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
btree <span style="color: #008080;">::</span> ~btree<span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	deltree <span style="color: #008000;">&#40;</span> root <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">void</span> main<span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	btree b <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> arr<span style="color: #008000;">&#91;</span> <span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#123;</span> <span style="color: #0000dd;">27</span>, <span style="color: #0000dd;">42</span>, <span style="color: #0000dd;">22</span>, <span style="color: #0000dd;">47</span>, <span style="color: #0000dd;">32</span>, <span style="color: #0000dd;">2</span>, <span style="color: #0000dd;">51</span>, <span style="color: #0000dd;">40</span>, <span style="color: #0000dd;">13</span> <span style="color: #008000;">&#125;</span> <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> sz <span style="color: #000080;">=</span> <span style="color: #0000dd;">sizeof</span> <span style="color: #008000;">&#40;</span> arr <span style="color: #008000;">&#41;</span> <span style="color: #000040;">/</span> <span style="color: #0000dd;">sizeof</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">int</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span> <span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;</span> sz <span style="color: #008080;">;</span> i<span style="color: #000040;">++</span> <span style="color: #008000;">&#41;</span>
		b.<span style="color: #007788;">insert</span> <span style="color: #008000;">&#40;</span> arr<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;B-tree of order 5:&quot;</span> <span style="color: #000080;">&lt;&lt;</span> endl <span style="color: #008080;">;</span>
	b.<span style="color: #007788;">show</span><span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	b.<span style="color: #007788;">del</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000dd;">22</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	b.<span style="color: #007788;">del</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000dd;">11</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>B-tree after deletion of values:&quot;</span> <span style="color: #000080;">&lt;&lt;</span> endl <span style="color: #008080;">;</span>
	b.<span style="color: #007788;">show</span><span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://electrofriends.com/source-codes/software-programs/cpp-programs/cpp-data-structure/c-program-to-implement-b-trees/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>C++ program to implement AVL Tree &amp; its Operations</title>
		<link>http://electrofriends.com/source-codes/software-programs/cpp-programs/cpp-data-structure/c-program-to-implement-avl-tree-its-operations/</link>
		<comments>http://electrofriends.com/source-codes/software-programs/cpp-programs/cpp-data-structure/c-program-to-implement-avl-tree-its-operations/#comments</comments>
		<pubDate>Wed, 02 Feb 2011 12:23:37 +0000</pubDate>
		<dc:creator>Ranjith</dc:creator>
				<category><![CDATA[Data structure]]></category>
		<category><![CDATA[AVL trees]]></category>
		<category><![CDATA[Binary Search Tree]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[linked list]]></category>
		<category><![CDATA[operations]]></category>
		<category><![CDATA[traversal]]></category>

		<guid isPermaLink="false">http://electrofriends.com/?p=1275</guid>
		<description><![CDATA[#include &#60;iostream.h&#62; #include &#60;stdlib.h&#62; #include&#60;constream.h&#62; #define FALSE 0 #define TRUE 1 struct AVLNode &#123; int data ; int balfact ; AVLNode *left ; AVLNode *right ; &#125; ; &#160; class avltree &#123; private : AVLNode *root ; public : avltree&#40; &#41; ; AVLNode* insert &#40; int data, int *h &#41; ; static AVLNode* buildtree &#40; [...]]]></description>
			<content:encoded><![CDATA[
<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include &lt;iostream.h&gt;</span>
<span style="color: #339900;">#include &lt;stdlib.h&gt;</span>
<span style="color: #339900;">#include&lt;constream.h&gt;</span>
<span style="color: #339900;">#define FALSE 0</span>
<span style="color: #339900;">#define TRUE 1</span>
<span style="color: #0000ff;">struct</span> AVLNode
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">int</span> data <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> balfact <span style="color: #008080;">;</span>
	AVLNode <span style="color: #000040;">*</span>left <span style="color: #008080;">;</span>
	AVLNode <span style="color: #000040;">*</span>right <span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span> <span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">class</span> avltree
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">private</span> <span style="color: #008080;">:</span>
		AVLNode <span style="color: #000040;">*</span>root <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">public</span> <span style="color: #008080;">:</span>
		avltree<span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		AVLNode<span style="color: #000040;">*</span>  insert <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">int</span> data, <span style="color: #0000ff;">int</span> <span style="color: #000040;">*</span>h <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">static</span> AVLNode<span style="color: #000040;">*</span> buildtree <span style="color: #008000;">&#40;</span> AVLNode <span style="color: #000040;">*</span>root, <span style="color: #0000ff;">int</span> data, <span style="color: #0000ff;">int</span> <span style="color: #000040;">*</span>h <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">void</span> display<span style="color: #008000;">&#40;</span> AVLNode <span style="color: #000040;">*</span>root <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		AVLNode<span style="color: #000040;">*</span> deldata <span style="color: #008000;">&#40;</span> AVLNode<span style="color: #000040;">*</span> root, <span style="color: #0000ff;">int</span> data, <span style="color: #0000ff;">int</span> <span style="color: #000040;">*</span>h <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">static</span> AVLNode<span style="color: #000040;">*</span> del <span style="color: #008000;">&#40;</span> AVLNode <span style="color: #000040;">*</span>node, AVLNode<span style="color: #000040;">*</span> root, <span style="color: #0000ff;">int</span> <span style="color: #000040;">*</span>h <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">static</span> AVLNode<span style="color: #000040;">*</span> balright <span style="color: #008000;">&#40;</span> AVLNode <span style="color: #000040;">*</span>root, <span style="color: #0000ff;">int</span> <span style="color: #000040;">*</span>h <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">static</span> AVLNode<span style="color: #000040;">*</span> balleft <span style="color: #008000;">&#40;</span> AVLNode<span style="color: #000040;">*</span> root, <span style="color: #0000ff;">int</span> <span style="color: #000040;">*</span>h <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">void</span> setroot <span style="color: #008000;">&#40;</span> AVLNode <span style="color: #000040;">*</span>avl <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		~avltree<span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">static</span> <span style="color: #0000ff;">void</span> deltree <span style="color: #008000;">&#40;</span> AVLNode <span style="color: #000040;">*</span>root <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span> <span style="color: #008080;">;</span>
avltree <span style="color: #008080;">::</span> <span style="color: #007788;">avltree</span><span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	root <span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span> <span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
AVLNode<span style="color: #000040;">*</span> avltree <span style="color: #008080;">::</span> <span style="color: #007788;">insert</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">int</span> data, <span style="color: #0000ff;">int</span> <span style="color: #000040;">*</span>h <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	root <span style="color: #000080;">=</span> buildtree <span style="color: #008000;">&#40;</span> root, data, h <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">return</span> root <span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
AVLNode<span style="color: #000040;">*</span> avltree <span style="color: #008080;">::</span> <span style="color: #007788;">buildtree</span> <span style="color: #008000;">&#40;</span> AVLNode <span style="color: #000040;">*</span>root, <span style="color: #0000ff;">int</span> data, <span style="color: #0000ff;">int</span> <span style="color: #000040;">*</span>h <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	AVLNode <span style="color: #000040;">*</span>node1, <span style="color: #000040;">*</span>node2 <span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> root <span style="color: #000080;">==</span> <span style="color: #0000ff;">NULL</span> <span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		root <span style="color: #000080;">=</span> <span style="color: #0000dd;">new</span> AVLNode <span style="color: #008080;">;</span>
		root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> data <span style="color: #000080;">=</span> data <span style="color: #008080;">;</span>
		root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> left <span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span> <span style="color: #008080;">;</span>
		root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> right <span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span> <span style="color: #008080;">;</span>
		root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span> <span style="color: #008080;">;</span>
		<span style="color: #000040;">*</span>h <span style="color: #000080;">=</span> TRUE <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">return</span> <span style="color: #008000;">&#40;</span> root <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> data <span style="color: #000080;">&lt;</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> data <span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> left <span style="color: #000080;">=</span> buildtree <span style="color: #008000;">&#40;</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> left, data, h <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
&nbsp;
		<span style="color: #666666;">// If left subtree is higher</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> <span style="color: #000040;">*</span>h <span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			<span style="color: #0000ff;">switch</span> <span style="color: #008000;">&#40;</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #008000;">&#41;</span>
			<span style="color: #008000;">&#123;</span>
				<span style="color: #0000ff;">case</span> <span style="color: #0000dd;">1</span> <span style="color: #008080;">:</span>
					node1 <span style="color: #000080;">=</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> left <span style="color: #008080;">;</span>
					<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> node1 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #000080;">==</span> <span style="color: #0000dd;">1</span> <span style="color: #008000;">&#41;</span>
					<span style="color: #008000;">&#123;</span>
						<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>Right rotation.&quot;</span> <span style="color: #008080;">;</span>
						root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> left <span style="color: #000080;">=</span> node1 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> right <span style="color: #008080;">;</span>
						node1 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> right <span style="color: #000080;">=</span> root <span style="color: #008080;">;</span>
						root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span> <span style="color: #008080;">;</span>
						root <span style="color: #000080;">=</span> node1 <span style="color: #008080;">;</span>
					<span style="color: #008000;">&#125;</span>
					<span style="color: #0000ff;">else</span>
					<span style="color: #008000;">&#123;</span>
						<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>Double rotation, left then right.&quot;</span> <span style="color: #008080;">;</span>
						node2 <span style="color: #000080;">=</span> node1 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> right <span style="color: #008080;">;</span>
						node1 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> right <span style="color: #000080;">=</span> node2 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> left <span style="color: #008080;">;</span>
						node2 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> left <span style="color: #000080;">=</span> node1 <span style="color: #008080;">;</span>
						root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> left <span style="color: #000080;">=</span> node2 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> right <span style="color: #008080;">;</span>
						node2 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> right <span style="color: #000080;">=</span> root <span style="color: #008080;">;</span>
						<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> node2 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #000080;">==</span> <span style="color: #0000dd;">1</span> <span style="color: #008000;">&#41;</span>
							root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #000080;">=</span> <span style="color: #000040;">-</span><span style="color: #0000dd;">1</span> <span style="color: #008080;">;</span>
						<span style="color: #0000ff;">else</span>
							root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span> <span style="color: #008080;">;</span>
						<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> node2 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #000080;">==</span> <span style="color: #000040;">-</span><span style="color: #0000dd;">1</span> <span style="color: #008000;">&#41;</span>
							node1 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span> <span style="color: #008080;">;</span>
						<span style="color: #0000ff;">else</span>
							node1 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span> <span style="color: #008080;">;</span>
						root <span style="color: #000080;">=</span> node2 <span style="color: #008080;">;</span>
					<span style="color: #008000;">&#125;</span>
					root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span> <span style="color: #008080;">;</span>
					<span style="color: #000040;">*</span>h <span style="color: #000080;">=</span> FALSE <span style="color: #008080;">;</span>
					<span style="color: #0000ff;">break</span> <span style="color: #008080;">;</span>
&nbsp;
				<span style="color: #0000ff;">case</span> <span style="color: #0000dd;">0</span> <span style="color: #008080;">:</span>
					root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span> <span style="color: #008080;">;</span>
					<span style="color: #0000ff;">break</span> <span style="color: #008080;">;</span>
				<span style="color: #0000ff;">case</span> <span style="color: #000040;">-</span><span style="color: #0000dd;">1</span> <span style="color: #008080;">:</span>
					root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span> <span style="color: #008080;">;</span>
					<span style="color: #000040;">*</span>h <span style="color: #000080;">=</span> FALSE <span style="color: #008080;">;</span>
			<span style="color: #008000;">&#125;</span>
		<span style="color: #008000;">&#125;</span>
	<span style="color: #008000;">&#125;</span>
&nbsp;
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> data <span style="color: #000080;">&gt;</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> data <span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> right <span style="color: #000080;">=</span> buildtree <span style="color: #008000;">&#40;</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> right, data, h <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
&nbsp;
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> <span style="color: #000040;">*</span>h <span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			<span style="color: #0000ff;">switch</span> <span style="color: #008000;">&#40;</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #008000;">&#41;</span>
			<span style="color: #008000;">&#123;</span>
				<span style="color: #0000ff;">case</span> <span style="color: #0000dd;">1</span> <span style="color: #008080;">:</span>
					root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span> <span style="color: #008080;">;</span>
					<span style="color: #000040;">*</span>h <span style="color: #000080;">=</span> FALSE <span style="color: #008080;">;</span>
					<span style="color: #0000ff;">break</span> <span style="color: #008080;">;</span>
				<span style="color: #0000ff;">case</span> <span style="color: #0000dd;">0</span> <span style="color: #008080;">:</span>
					root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #000080;">=</span> <span style="color: #000040;">-</span><span style="color: #0000dd;">1</span> <span style="color: #008080;">;</span>
					<span style="color: #0000ff;">break</span> <span style="color: #008080;">;</span>
				<span style="color: #0000ff;">case</span> <span style="color: #000040;">-</span><span style="color: #0000dd;">1</span> <span style="color: #008080;">:</span>
					node1 <span style="color: #000080;">=</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> right <span style="color: #008080;">;</span>
					<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> node1 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #000080;">==</span> <span style="color: #000040;">-</span><span style="color: #0000dd;">1</span> <span style="color: #008000;">&#41;</span>
					<span style="color: #008000;">&#123;</span>
						<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>Left rotation.&quot;</span> <span style="color: #008080;">;</span>
						root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> right <span style="color: #000080;">=</span> node1 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> left <span style="color: #008080;">;</span>
						node1 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> left <span style="color: #000080;">=</span> root <span style="color: #008080;">;</span>
						root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span> <span style="color: #008080;">;</span>
						root <span style="color: #000080;">=</span> node1 <span style="color: #008080;">;</span>
					<span style="color: #008000;">&#125;</span>
					<span style="color: #0000ff;">else</span>
					<span style="color: #008000;">&#123;</span>
						<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>Double rotation, right then left.&quot;</span> <span style="color: #008080;">;</span>
						node2 <span style="color: #000080;">=</span> node1 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> left <span style="color: #008080;">;</span>
						node1 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> left <span style="color: #000080;">=</span> node2 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> right <span style="color: #008080;">;</span>
						node2 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> right <span style="color: #000080;">=</span> node1 <span style="color: #008080;">;</span>
						root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> right <span style="color: #000080;">=</span> node2 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> left <span style="color: #008080;">;</span>
						node2 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> left <span style="color: #000080;">=</span> root <span style="color: #008080;">;</span>
						<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> node2 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #000080;">==</span> <span style="color: #000040;">-</span><span style="color: #0000dd;">1</span> <span style="color: #008000;">&#41;</span>
							root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span> <span style="color: #008080;">;</span>
						<span style="color: #0000ff;">else</span>
							root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span> <span style="color: #008080;">;</span>
						<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> node2 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #000080;">==</span> <span style="color: #0000dd;">1</span> <span style="color: #008000;">&#41;</span>
							node1 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #000080;">=</span> <span style="color: #000040;">-</span><span style="color: #0000dd;">1</span> <span style="color: #008080;">;</span>
						<span style="color: #0000ff;">else</span>
							node1 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span> <span style="color: #008080;">;</span>
						root <span style="color: #000080;">=</span> node2 <span style="color: #008080;">;</span>
					<span style="color: #008000;">&#125;</span>
					root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span> <span style="color: #008080;">;</span>
					<span style="color: #000040;">*</span>h <span style="color: #000080;">=</span> FALSE <span style="color: #008080;">;</span>
			<span style="color: #008000;">&#125;</span>
		<span style="color: #008000;">&#125;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">return</span> <span style="color: #008000;">&#40;</span> root <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> avltree <span style="color: #008080;">::</span> <span style="color: #007788;">display</span> <span style="color: #008000;">&#40;</span> AVLNode<span style="color: #000040;">*</span> root <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> root <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span> <span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		display <span style="color: #008000;">&#40;</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> left <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> data <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\t</span>&quot;</span> <span style="color: #008080;">;</span>
		display <span style="color: #008000;">&#40;</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> right <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
AVLNode<span style="color: #000040;">*</span> avltree <span style="color: #008080;">::</span> <span style="color: #007788;">deldata</span> <span style="color: #008000;">&#40;</span> AVLNode <span style="color: #000040;">*</span>root, <span style="color: #0000ff;">int</span> data, <span style="color: #0000ff;">int</span> <span style="color: #000040;">*</span>h <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	AVLNode <span style="color: #000040;">*</span>node <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> data <span style="color: #000080;">==</span> <span style="color: #0000dd;">13</span> <span style="color: #008000;">&#41;</span>
		<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> data <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> root <span style="color: #000080;">==</span> <span style="color: #0000ff;">NULL</span> <span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>No such data.&quot;</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">return</span> <span style="color: #008000;">&#40;</span> root <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">else</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> data <span style="color: #000080;">&lt;</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> data <span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> left <span style="color: #000080;">=</span> deldata <span style="color: #008000;">&#40;</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> left, data, h <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
			<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> <span style="color: #000040;">*</span>h <span style="color: #008000;">&#41;</span>
				root <span style="color: #000080;">=</span> balright <span style="color: #008000;">&#40;</span> root, h <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
		<span style="color: #0000ff;">else</span>
		<span style="color: #008000;">&#123;</span>
			<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> data <span style="color: #000080;">&gt;</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> data <span style="color: #008000;">&#41;</span>
			<span style="color: #008000;">&#123;</span>
				root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> right <span style="color: #000080;">=</span> deldata <span style="color: #008000;">&#40;</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> right, data, h <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
				<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> <span style="color: #000040;">*</span>h <span style="color: #008000;">&#41;</span>
					root <span style="color: #000080;">=</span> balleft <span style="color: #008000;">&#40;</span> root, h <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
			<span style="color: #008000;">&#125;</span>
			<span style="color: #0000ff;">else</span>
			<span style="color: #008000;">&#123;</span>
				node <span style="color: #000080;">=</span> root <span style="color: #008080;">;</span>
				<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> node <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> right <span style="color: #000080;">==</span> <span style="color: #0000ff;">NULL</span> <span style="color: #008000;">&#41;</span>
				<span style="color: #008000;">&#123;</span>
					root <span style="color: #000080;">=</span> node <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> left <span style="color: #008080;">;</span>
					<span style="color: #000040;">*</span>h <span style="color: #000080;">=</span> TRUE <span style="color: #008080;">;</span>
					<span style="color: #0000dd;">delete</span> <span style="color: #008000;">&#40;</span> node <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
				<span style="color: #008000;">&#125;</span>
				<span style="color: #0000ff;">else</span>
				<span style="color: #008000;">&#123;</span>
					<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> node <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> left <span style="color: #000080;">==</span> <span style="color: #0000ff;">NULL</span> <span style="color: #008000;">&#41;</span>
					<span style="color: #008000;">&#123;</span>
						root <span style="color: #000080;">=</span> node <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> right <span style="color: #008080;">;</span>
						<span style="color: #000040;">*</span>h <span style="color: #000080;">=</span> TRUE <span style="color: #008080;">;</span>
						<span style="color: #0000dd;">delete</span> <span style="color: #008000;">&#40;</span> node <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
					<span style="color: #008000;">&#125;</span>
					<span style="color: #0000ff;">else</span>
					<span style="color: #008000;">&#123;</span>
						node <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> right <span style="color: #000080;">=</span> del <span style="color: #008000;">&#40;</span> node <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> right, node, h <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
						<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> <span style="color: #000040;">*</span>h <span style="color: #008000;">&#41;</span>
							root <span style="color: #000080;">=</span> balleft <span style="color: #008000;">&#40;</span> root, h <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
					<span style="color: #008000;">&#125;</span>
				<span style="color: #008000;">&#125;</span>
			<span style="color: #008000;">&#125;</span>
		<span style="color: #008000;">&#125;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">return</span> <span style="color: #008000;">&#40;</span> root <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
AVLNode<span style="color: #000040;">*</span> avltree <span style="color: #008080;">::</span> <span style="color: #007788;">del</span> <span style="color: #008000;">&#40;</span> AVLNode <span style="color: #000040;">*</span>succ, AVLNode <span style="color: #000040;">*</span>node, <span style="color: #0000ff;">int</span> <span style="color: #000040;">*</span>h <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	AVLNode <span style="color: #000040;">*</span>temp <span style="color: #000080;">=</span> succ <span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> succ <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> left <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span> <span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		succ <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> left <span style="color: #000080;">=</span> del <span style="color: #008000;">&#40;</span> succ <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> left, node, h <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> <span style="color: #000040;">*</span>h <span style="color: #008000;">&#41;</span>
			succ <span style="color: #000080;">=</span> balright <span style="color: #008000;">&#40;</span> succ, h <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">else</span>
	<span style="color: #008000;">&#123;</span>
		temp <span style="color: #000080;">=</span> succ <span style="color: #008080;">;</span>
		node <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> data <span style="color: #000080;">=</span> succ <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> data <span style="color: #008080;">;</span>
		succ <span style="color: #000080;">=</span> succ <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> right <span style="color: #008080;">;</span>
		<span style="color: #0000dd;">delete</span> <span style="color: #008000;">&#40;</span> temp <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #000040;">*</span>h <span style="color: #000080;">=</span> TRUE <span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">return</span> <span style="color: #008000;">&#40;</span> succ <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
AVLNode<span style="color: #000040;">*</span> avltree <span style="color: #008080;">::</span> <span style="color: #007788;">balright</span> <span style="color: #008000;">&#40;</span> AVLNode <span style="color: #000040;">*</span>root, <span style="color: #0000ff;">int</span> <span style="color: #000040;">*</span>h <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	AVLNode <span style="color: #000040;">*</span>temp1, <span style="color: #000040;">*</span>temp2 <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">switch</span> <span style="color: #008000;">&#40;</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">case</span> <span style="color: #0000dd;">1</span> <span style="color: #008080;">:</span>
			root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span> <span style="color: #008080;">;</span>
			<span style="color: #0000ff;">break</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">case</span> <span style="color: #0000dd;">0</span> <span style="color: #008080;">:</span>
			root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #000080;">=</span> <span style="color: #000040;">-</span><span style="color: #0000dd;">1</span> <span style="color: #008080;">;</span>
			<span style="color: #000040;">*</span>h  <span style="color: #000080;">=</span> FALSE <span style="color: #008080;">;</span>
			<span style="color: #0000ff;">break</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">case</span> <span style="color: #000040;">-</span><span style="color: #0000dd;">1</span> <span style="color: #008080;">:</span>
			temp1 <span style="color: #000080;">=</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> right <span style="color: #008080;">;</span>
			<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> temp1 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #000080;">&lt;=</span> <span style="color: #0000dd;">0</span> <span style="color: #008000;">&#41;</span>
			<span style="color: #008000;">&#123;</span>
				<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>Left rotation.&quot;</span> <span style="color: #008080;">;</span>
				root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> right <span style="color: #000080;">=</span> temp1 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> left <span style="color: #008080;">;</span>
				temp1 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> left <span style="color: #000080;">=</span> root <span style="color: #008080;">;</span>
				<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> temp1 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #000080;">==</span> <span style="color: #0000dd;">0</span> <span style="color: #008000;">&#41;</span>
				<span style="color: #008000;">&#123;</span>
					root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #000080;">=</span> <span style="color: #000040;">-</span><span style="color: #0000dd;">1</span> <span style="color: #008080;">;</span>
					temp1 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span> <span style="color: #008080;">;</span>
					<span style="color: #000040;">*</span>h <span style="color: #000080;">=</span> FALSE <span style="color: #008080;">;</span>
				<span style="color: #008000;">&#125;</span>
				<span style="color: #0000ff;">else</span>
				<span style="color: #008000;">&#123;</span>
					root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #000080;">=</span> temp1 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span> <span style="color: #008080;">;</span>
				<span style="color: #008000;">&#125;</span>
				root <span style="color: #000080;">=</span> temp1 <span style="color: #008080;">;</span>
			<span style="color: #008000;">&#125;</span>
			<span style="color: #0000ff;">else</span>
			<span style="color: #008000;">&#123;</span>
				<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>Double rotation, right then left.&quot;</span> <span style="color: #008080;">;</span>
				temp2 <span style="color: #000080;">=</span> temp1 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> left <span style="color: #008080;">;</span>
				temp1 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> left <span style="color: #000080;">=</span> temp2 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> right <span style="color: #008080;">;</span>
				temp2 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> right <span style="color: #000080;">=</span> temp1 <span style="color: #008080;">;</span>
				root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> right <span style="color: #000080;">=</span> temp2 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> left <span style="color: #008080;">;</span>
				temp2 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> left <span style="color: #000080;">=</span> root <span style="color: #008080;">;</span>
				<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> temp2 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #000080;">==</span> <span style="color: #000040;">-</span><span style="color: #0000dd;">1</span> <span style="color: #008000;">&#41;</span>
					root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span> <span style="color: #008080;">;</span>
				<span style="color: #0000ff;">else</span>
					root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span> <span style="color: #008080;">;</span>
				<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> temp2 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #000080;">==</span> <span style="color: #0000dd;">1</span> <span style="color: #008000;">&#41;</span>
					temp1 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #000080;">=</span> <span style="color: #000040;">-</span><span style="color: #0000dd;">1</span> <span style="color: #008080;">;</span>
				<span style="color: #0000ff;">else</span>
					temp1 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span> <span style="color: #008080;">;</span>
				root <span style="color: #000080;">=</span> temp2 <span style="color: #008080;">;</span>
				temp2 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span> <span style="color: #008080;">;</span>
			<span style="color: #008000;">&#125;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">return</span> <span style="color: #008000;">&#40;</span> root <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
AVLNode<span style="color: #000040;">*</span> avltree <span style="color: #008080;">::</span> <span style="color: #007788;">balleft</span> <span style="color: #008000;">&#40;</span> AVLNode <span style="color: #000040;">*</span>root, <span style="color: #0000ff;">int</span> <span style="color: #000040;">*</span>h <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	AVLNode <span style="color: #000040;">*</span>temp1, <span style="color: #000040;">*</span>temp2 <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">switch</span> <span style="color: #008000;">&#40;</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">case</span> <span style="color: #000040;">-</span><span style="color: #0000dd;">1</span> <span style="color: #008080;">:</span>
			root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span> <span style="color: #008080;">;</span>
			<span style="color: #0000ff;">break</span> <span style="color: #008080;">;</span>
&nbsp;
		<span style="color: #0000ff;">case</span> <span style="color: #0000dd;">0</span> <span style="color: #008080;">:</span>
			root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span> <span style="color: #008080;">;</span>
			<span style="color: #000040;">*</span>h <span style="color: #000080;">=</span> FALSE <span style="color: #008080;">;</span>
			<span style="color: #0000ff;">break</span> <span style="color: #008080;">;</span>
&nbsp;
		<span style="color: #0000ff;">case</span> <span style="color: #0000dd;">1</span> <span style="color: #008080;">:</span>
			temp1 <span style="color: #000080;">=</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> left <span style="color: #008080;">;</span>
			<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> temp1 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #000080;">&gt;=</span> <span style="color: #0000dd;">0</span> <span style="color: #008000;">&#41;</span>
			<span style="color: #008000;">&#123;</span>
				<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>Right rotation.&quot;</span> <span style="color: #008080;">;</span>
				root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> left <span style="color: #000080;">=</span> temp1 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> right <span style="color: #008080;">;</span>
				temp1 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> right <span style="color: #000080;">=</span> root <span style="color: #008080;">;</span>
&nbsp;
				<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> temp1 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #000080;">==</span> <span style="color: #0000dd;">0</span> <span style="color: #008000;">&#41;</span>
				<span style="color: #008000;">&#123;</span>
					root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span> <span style="color: #008080;">;</span>
					temp1 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #000080;">=</span> <span style="color: #000040;">-</span><span style="color: #0000dd;">1</span> <span style="color: #008080;">;</span>
					<span style="color: #000040;">*</span>h <span style="color: #000080;">=</span> FALSE <span style="color: #008080;">;</span>
				<span style="color: #008000;">&#125;</span>
				<span style="color: #0000ff;">else</span>
				<span style="color: #008000;">&#123;</span>
					root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #000080;">=</span> temp1 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span> <span style="color: #008080;">;</span>
				<span style="color: #008000;">&#125;</span>
				root <span style="color: #000080;">=</span> temp1 <span style="color: #008080;">;</span>
			<span style="color: #008000;">&#125;</span>
			<span style="color: #0000ff;">else</span>
			<span style="color: #008000;">&#123;</span>
				<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>Double rotation, left then right.&quot;</span> <span style="color: #008080;">;</span>
				temp2 <span style="color: #000080;">=</span> temp1 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> right <span style="color: #008080;">;</span>
				temp1 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> right <span style="color: #000080;">=</span> temp2 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> left <span style="color: #008080;">;</span>
				temp2 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> left <span style="color: #000080;">=</span> temp1 <span style="color: #008080;">;</span>
				root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> left <span style="color: #000080;">=</span> temp2 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> right <span style="color: #008080;">;</span>
				temp2 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> right <span style="color: #000080;">=</span> root <span style="color: #008080;">;</span>
				<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> temp2 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #000080;">==</span> <span style="color: #0000dd;">1</span> <span style="color: #008000;">&#41;</span>
					root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #000080;">=</span> <span style="color: #000040;">-</span><span style="color: #0000dd;">1</span> <span style="color: #008080;">;</span>
				<span style="color: #0000ff;">else</span>
					root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span> <span style="color: #008080;">;</span>
				<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> temp2<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #000080;">==</span> <span style="color: #000040;">-</span><span style="color: #0000dd;">1</span> <span style="color: #008000;">&#41;</span>
					temp1 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span> <span style="color: #008080;">;</span>
				<span style="color: #0000ff;">else</span>
					temp1 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span> <span style="color: #008080;">;</span>
				root <span style="color: #000080;">=</span> temp2 <span style="color: #008080;">;</span>
				temp2 <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> balfact <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span> <span style="color: #008080;">;</span>
			<span style="color: #008000;">&#125;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">return</span> <span style="color: #008000;">&#40;</span> root <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> avltree <span style="color: #008080;">::</span> <span style="color: #007788;">setroot</span> <span style="color: #008000;">&#40;</span> AVLNode <span style="color: #000040;">*</span>avl <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	root <span style="color: #000080;">=</span> avl <span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
avltree <span style="color: #008080;">::</span> ~avltree<span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	deltree <span style="color: #008000;">&#40;</span> root <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
&nbsp;
<span style="color: #0000ff;">void</span> avltree <span style="color: #008080;">::</span> <span style="color: #007788;">deltree</span> <span style="color: #008000;">&#40;</span> AVLNode <span style="color: #000040;">*</span>root <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> root <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span> <span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		deltree <span style="color: #008000;">&#40;</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> left <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		deltree <span style="color: #008000;">&#40;</span> root <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> right <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000dd;">delete</span> <span style="color: #008000;">&#40;</span> root <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> main<span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	avltree at <span style="color: #008080;">;</span>
	AVLNode <span style="color: #000040;">*</span>avl <span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span> <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> h <span style="color: #008080;">;</span>
	clrscr<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	avl <span style="color: #000080;">=</span> at.<span style="color: #007788;">insert</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000dd;">20</span>, <span style="color: #000040;">&amp;</span>h <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	at.<span style="color: #007788;">setroot</span> <span style="color: #008000;">&#40;</span> avl <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	avl <span style="color: #000080;">=</span> at.<span style="color: #007788;">insert</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000dd;">6</span>, <span style="color: #000040;">&amp;</span>h <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	at.<span style="color: #007788;">setroot</span> <span style="color: #008000;">&#40;</span> avl <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	avl <span style="color: #000080;">=</span> at.<span style="color: #007788;">insert</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000dd;">29</span>, <span style="color: #000040;">&amp;</span>h <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	at.<span style="color: #007788;">setroot</span> <span style="color: #008000;">&#40;</span> avl <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	avl <span style="color: #000080;">=</span> at.<span style="color: #007788;">insert</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000dd;">5</span>, <span style="color: #000040;">&amp;</span>h <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	at.<span style="color: #007788;">setroot</span> <span style="color: #008000;">&#40;</span> avl <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	avl <span style="color: #000080;">=</span> at.<span style="color: #007788;">insert</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000dd;">12</span>, <span style="color: #000040;">&amp;</span>h <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	at.<span style="color: #007788;">setroot</span> <span style="color: #008000;">&#40;</span> avl <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	avl <span style="color: #000080;">=</span> at.<span style="color: #007788;">insert</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000dd;">25</span>, <span style="color: #000040;">&amp;</span>h <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	at.<span style="color: #007788;">setroot</span> <span style="color: #008000;">&#40;</span> avl <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	avl <span style="color: #000080;">=</span> at.<span style="color: #007788;">insert</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000dd;">32</span>, <span style="color: #000040;">&amp;</span>h <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	at.<span style="color: #007788;">setroot</span> <span style="color: #008000;">&#40;</span> avl <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	avl <span style="color: #000080;">=</span> at.<span style="color: #007788;">insert</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000dd;">10</span>, <span style="color: #000040;">&amp;</span>h <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	at.<span style="color: #007788;">setroot</span> <span style="color: #008000;">&#40;</span> avl <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	avl <span style="color: #000080;">=</span> at.<span style="color: #007788;">insert</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000dd;">15</span>, <span style="color: #000040;">&amp;</span>h <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	at.<span style="color: #007788;">setroot</span> <span style="color: #008000;">&#40;</span> avl <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	avl <span style="color: #000080;">=</span> at.<span style="color: #007788;">insert</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000dd;">27</span>, <span style="color: #000040;">&amp;</span>h <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	at.<span style="color: #007788;">setroot</span> <span style="color: #008000;">&#40;</span> avl <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	avl <span style="color: #000080;">=</span> at.<span style="color: #007788;">insert</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000dd;">13</span>, <span style="color: #000040;">&amp;</span>h <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	at.<span style="color: #007788;">setroot</span> <span style="color: #008000;">&#40;</span> avl <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> endl <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;AVL tree:<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span> <span style="color: #008080;">;</span>
	at.<span style="color: #007788;">display</span> <span style="color: #008000;">&#40;</span> avl <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	avl <span style="color: #000080;">=</span> at.<span style="color: #007788;">deldata</span> <span style="color: #008000;">&#40;</span> avl, <span style="color: #0000dd;">20</span>, <span style="color: #000040;">&amp;</span>h <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	at.<span style="color: #007788;">setroot</span> <span style="color: #008000;">&#40;</span> avl <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	avl <span style="color: #000080;">=</span> at.<span style="color: #007788;">deldata</span> <span style="color: #008000;">&#40;</span> avl, <span style="color: #0000dd;">12</span>, <span style="color: #000040;">&amp;</span>h <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	at.<span style="color: #007788;">setroot</span> <span style="color: #008000;">&#40;</span> avl <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> endl <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;AVL tree after deletion of a node:<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span> <span style="color: #008080;">;</span>
	at.<span style="color: #007788;">display</span> <span style="color: #008000;">&#40;</span> avl <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	getch<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://electrofriends.com/source-codes/software-programs/cpp-programs/cpp-data-structure/c-program-to-implement-avl-tree-its-operations/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>C++ program to implement Binary Search Tree(BST) and its Operations</title>
		<link>http://electrofriends.com/source-codes/software-programs/cpp-programs/cpp-data-structure/c-program-to-implement-binary-search-treebst-and-its-operations/</link>
		<comments>http://electrofriends.com/source-codes/software-programs/cpp-programs/cpp-data-structure/c-program-to-implement-binary-search-treebst-and-its-operations/#comments</comments>
		<pubDate>Wed, 02 Feb 2011 12:21:33 +0000</pubDate>
		<dc:creator>Ranjith</dc:creator>
				<category><![CDATA[Data structure]]></category>
		<category><![CDATA[Binary Search Tree]]></category>
		<category><![CDATA[BST]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[linked list]]></category>
		<category><![CDATA[traversal]]></category>

		<guid isPermaLink="false">http://electrofriends.com/?p=1273</guid>
		<description><![CDATA[#include &#60;iostream.h&#62; class btree &#123; private : struct node &#123; node *left ; char data ; node *right ; &#125; *root ; char *arr ; int *lc ; int *rc ; public : btree &#40; char *a, int *l, int *r, int size &#41; ; void insert &#40; int index &#41; ; static node* buildtree [...]]]></description>
			<content:encoded><![CDATA[
<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include &lt;iostream.h&gt;</span>
<span style="color: #0000ff;">class</span> btree
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">private</span> <span style="color: #008080;">:</span>
		<span style="color: #0000ff;">struct</span> node
		<span style="color: #008000;">&#123;</span>
			node <span style="color: #000040;">*</span>left <span style="color: #008080;">;</span>
			<span style="color: #0000ff;">char</span> data <span style="color: #008080;">;</span>
			node <span style="color: #000040;">*</span>right <span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span> <span style="color: #000040;">*</span>root <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>arr <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">int</span> <span style="color: #000040;">*</span>lc <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">int</span> <span style="color: #000040;">*</span>rc <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">public</span> <span style="color: #008080;">:</span>
		btree <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>a, <span style="color: #0000ff;">int</span> <span style="color: #000040;">*</span>l, <span style="color: #0000ff;">int</span> <span style="color: #000040;">*</span>r, <span style="color: #0000ff;">int</span> size <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">void</span> insert <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">int</span> index <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">static</span> node<span style="color: #000040;">*</span> buildtree <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>a, <span style="color: #0000ff;">int</span> <span style="color: #000040;">*</span>l, <span style="color: #0000ff;">int</span> <span style="color: #000040;">*</span>r, <span style="color: #0000ff;">int</span> index <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">void</span> display<span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">static</span> <span style="color: #0000ff;">void</span> inorder <span style="color: #008000;">&#40;</span> node <span style="color: #000040;">*</span>sr <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		~btree<span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">static</span> <span style="color: #0000ff;">void</span> del <span style="color: #008000;">&#40;</span> node <span style="color: #000040;">*</span>sr <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span> <span style="color: #008080;">;</span>
btree <span style="color: #008080;">::</span> <span style="color: #007788;">btree</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>a, <span style="color: #0000ff;">int</span> <span style="color: #000040;">*</span>l, <span style="color: #0000ff;">int</span> <span style="color: #000040;">*</span>r, <span style="color: #0000ff;">int</span> size <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	root <span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span> <span style="color: #008080;">;</span>
	arr <span style="color: #000080;">=</span> <span style="color: #0000dd;">new</span> <span style="color: #0000ff;">char</span><span style="color: #008000;">&#91;</span>size<span style="color: #008000;">&#93;</span> <span style="color: #008080;">;</span>
	lc <span style="color: #000080;">=</span> <span style="color: #0000dd;">new</span> <span style="color: #0000ff;">int</span><span style="color: #008000;">&#91;</span>size<span style="color: #008000;">&#93;</span> <span style="color: #008080;">;</span>
	rc <span style="color: #000080;">=</span> <span style="color: #0000dd;">new</span> <span style="color: #0000ff;">int</span><span style="color: #008000;">&#91;</span>size<span style="color: #008000;">&#93;</span> <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span> <span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;</span> size <span style="color: #008080;">;</span> i<span style="color: #000040;">++</span> <span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #000040;">*</span> <span style="color: #008000;">&#40;</span> arr <span style="color: #000040;">+</span> i <span style="color: #008000;">&#41;</span> <span style="color: #000080;">=</span> <span style="color: #000040;">*</span> <span style="color: #008000;">&#40;</span> a <span style="color: #000040;">+</span> i <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #000040;">*</span> <span style="color: #008000;">&#40;</span> lc <span style="color: #000040;">+</span> i <span style="color: #008000;">&#41;</span> <span style="color: #000080;">=</span> <span style="color: #000040;">*</span> <span style="color: #008000;">&#40;</span> l <span style="color: #000040;">+</span> i <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #000040;">*</span> <span style="color: #008000;">&#40;</span> rc <span style="color: #000040;">+</span> i <span style="color: #008000;">&#41;</span> <span style="color: #000080;">=</span> <span style="color: #000040;">*</span> <span style="color: #008000;">&#40;</span> r <span style="color: #000040;">+</span> i <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> btree <span style="color: #008080;">::</span> <span style="color: #007788;">insert</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">int</span> index <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	root <span style="color: #000080;">=</span> buildtree <span style="color: #008000;">&#40;</span> arr, lc, rc, index <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
node<span style="color: #000040;">*</span> btree <span style="color: #008080;">::</span> <span style="color: #007788;">buildtree</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>a, <span style="color: #0000ff;">int</span> <span style="color: #000040;">*</span>l, <span style="color: #0000ff;">int</span> <span style="color: #000040;">*</span>r, <span style="color: #0000ff;">int</span> index <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	node <span style="color: #000040;">*</span>temp <span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span> <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> index <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #000040;">-</span><span style="color: #0000dd;">1</span> <span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		temp <span style="color: #000080;">=</span> <span style="color: #0000dd;">new</span> node <span style="color: #008080;">;</span>
		temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> left <span style="color: #000080;">=</span> buildtree <span style="color: #008000;">&#40;</span> a, l, r, <span style="color: #000040;">*</span> <span style="color: #008000;">&#40;</span> l <span style="color: #000040;">+</span> index <span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> data <span style="color: #000080;">=</span> <span style="color: #000040;">*</span> <span style="color: #008000;">&#40;</span> a <span style="color: #000040;">+</span> index <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		temp <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> right <span style="color: #000080;">=</span> buildtree <span style="color: #008000;">&#40;</span> a, l, r, <span style="color: #000040;">*</span> <span style="color: #008000;">&#40;</span> r <span style="color: #000040;">+</span> index <span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">return</span> temp <span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> btree <span style="color: #008080;">::</span> <span style="color: #007788;">display</span><span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	inorder <span style="color: #008000;">&#40;</span> root <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> btree <span style="color: #008080;">::</span> <span style="color: #007788;">inorder</span> <span style="color: #008000;">&#40;</span> node <span style="color: #000040;">*</span>sr <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> sr <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span> <span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		inorder <span style="color: #008000;">&#40;</span> sr <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> left <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> sr <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> data <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\t</span>&quot;</span> <span style="color: #008080;">;</span>
		inorder <span style="color: #008000;">&#40;</span> sr <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> right <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
btree <span style="color: #008080;">::</span> ~btree<span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000dd;">delete</span> arr <span style="color: #008080;">;</span>
	<span style="color: #0000dd;">delete</span> lc <span style="color: #008080;">;</span>
	<span style="color: #0000dd;">delete</span> rc <span style="color: #008080;">;</span>
	del <span style="color: #008000;">&#40;</span> root <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> btree <span style="color: #008080;">::</span> <span style="color: #007788;">del</span> <span style="color: #008000;">&#40;</span> node <span style="color: #000040;">*</span>sr <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> sr <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span> <span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		del <span style="color: #008000;">&#40;</span> sr <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> left <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		del <span style="color: #008000;">&#40;</span> sr <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span> right <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000dd;">delete</span> sr <span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> main<span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">char</span> a<span style="color: #008000;">&#91;</span> <span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#123;</span> <span style="color: #FF0000;">'A'</span>, <span style="color: #FF0000;">'B'</span>, <span style="color: #FF0000;">'C'</span>, <span style="color: #FF0000;">'D'</span>, <span style="color: #FF0000;">'E'</span>, <span style="color: #FF0000;">'F'</span>, <span style="color: #FF0000;">'G'</span>, <span style="color: #FF0000;">'<span style="color: #006699; font-weight: bold;">\0</span>'</span>, <span style="color: #FF0000;">'<span style="color: #006699; font-weight: bold;">\0</span>'</span>, <span style="color: #FF0000;">'H'</span> <span style="color: #008000;">&#125;</span> <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span>  l<span style="color: #008000;">&#91;</span> <span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#123;</span>  <span style="color: #0000dd;">1</span>,   <span style="color: #0000dd;">3</span>,   <span style="color: #0000dd;">5</span>,   <span style="color: #000040;">-</span><span style="color: #0000dd;">1</span>,   <span style="color: #0000dd;">9</span>,  <span style="color: #000040;">-</span><span style="color: #0000dd;">1</span>,  <span style="color: #000040;">-</span><span style="color: #0000dd;">1</span>,   <span style="color: #000040;">-</span><span style="color: #0000dd;">1</span>,   <span style="color: #000040;">-</span><span style="color: #0000dd;">1</span>,  <span style="color: #000040;">-</span><span style="color: #0000dd;">1</span> <span style="color: #008000;">&#125;</span> <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span>  r<span style="color: #008000;">&#91;</span> <span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#123;</span>  <span style="color: #0000dd;">2</span>,   <span style="color: #0000dd;">4</span>,   <span style="color: #0000dd;">6</span>,   <span style="color: #000040;">-</span><span style="color: #0000dd;">1</span>,  <span style="color: #000040;">-</span><span style="color: #0000dd;">1</span>,  <span style="color: #000040;">-</span><span style="color: #0000dd;">1</span>,  <span style="color: #000040;">-</span><span style="color: #0000dd;">1</span>,   <span style="color: #000040;">-</span><span style="color: #0000dd;">1</span>,   <span style="color: #000040;">-</span><span style="color: #0000dd;">1</span>,  <span style="color: #000040;">-</span><span style="color: #0000dd;">1</span> <span style="color: #008000;">&#125;</span> <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> sz <span style="color: #000080;">=</span> <span style="color: #0000dd;">sizeof</span> <span style="color: #008000;">&#40;</span> a <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	btree bt <span style="color: #008000;">&#40;</span> a, l, r, sz <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	bt.<span style="color: #007788;">insert</span><span style="color: #008000;">&#40;</span> <span style="color: #0000dd;">0</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>In-order Traversal: &quot;</span> <span style="color: #000080;">&lt;&lt;</span> endl <span style="color: #008080;">;</span>
	bt.<span style="color: #007788;">display</span><span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://electrofriends.com/source-codes/software-programs/cpp-programs/cpp-data-structure/c-program-to-implement-binary-search-treebst-and-its-operations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C++ program for creation and traversal of a Binary Tree</title>
		<link>http://electrofriends.com/source-codes/software-programs/cpp-programs/cpp-data-structure/c-program-for-creation-and-traversal-of-a-binary-tree/</link>
		<comments>http://electrofriends.com/source-codes/software-programs/cpp-programs/cpp-data-structure/c-program-for-creation-and-traversal-of-a-binary-tree/#comments</comments>
		<pubDate>Wed, 02 Feb 2011 12:19:34 +0000</pubDate>
		<dc:creator>Ranjith</dc:creator>
				<category><![CDATA[Data structure]]></category>
		<category><![CDATA[binary tree]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[linked list]]></category>
		<category><![CDATA[traversal]]></category>

		<guid isPermaLink="false">http://electrofriends.com/?p=1271</guid>
		<description><![CDATA[#include&#60;iostream.h&#62; #include&#60;conio.h&#62; #include&#60;process.h&#62; struct tree_node &#123; tree_node *left; tree_node *right; int data; &#125; ; class bst &#123; tree_node *root; public: bst&#40;&#41; &#123; root=NULL; &#125; int isempty&#40;&#41; &#123; return&#40;root==NULL&#41;; &#125; void insert&#40;int item&#41;; void inordertrav&#40;&#41;; void inorder&#40;tree_node *&#41;; void postordertrav&#40;&#41;; void postorder&#40;tree_node *&#41;; void preordertrav&#40;&#41;; void preorder&#40;tree_node *&#41;; &#125;; void bst::insert&#40;int item&#41; &#123; tree_node *p=new tree_node; [...]]]></description>
			<content:encoded><![CDATA[
<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include&lt;iostream.h&gt;</span>
<span style="color: #339900;">#include&lt;conio.h&gt;</span>
<span style="color: #339900;">#include&lt;process.h&gt;</span>
<span style="color: #0000ff;">struct</span> tree_node
<span style="color: #008000;">&#123;</span>
	tree_node <span style="color: #000040;">*</span>left<span style="color: #008080;">;</span>
	tree_node <span style="color: #000040;">*</span>right<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> data<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span> <span style="color: #008080;">;</span>
<span style="color: #0000ff;">class</span> bst
<span style="color: #008000;">&#123;</span>
	tree_node <span style="color: #000040;">*</span>root<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">public</span><span style="color: #008080;">:</span>
	bst<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		root<span style="color: #000080;">=</span><span style="color: #0000ff;">NULL</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">int</span> isempty<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> 
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">return</span><span style="color: #008000;">&#40;</span>root<span style="color: #000080;">==</span><span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">void</span> insert<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> item<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">void</span> inordertrav<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">void</span> inorder<span style="color: #008000;">&#40;</span>tree_node <span style="color: #000040;">*</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">void</span> postordertrav<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">void</span> postorder<span style="color: #008000;">&#40;</span>tree_node <span style="color: #000040;">*</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">void</span> preordertrav<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">void</span> preorder<span style="color: #008000;">&#40;</span>tree_node <span style="color: #000040;">*</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">void</span> bst<span style="color: #008080;">::</span><span style="color: #007788;">insert</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> item<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	tree_node <span style="color: #000040;">*</span>p<span style="color: #000080;">=</span><span style="color: #0000dd;">new</span> tree_node<span style="color: #008080;">;</span>
	tree_node <span style="color: #000040;">*</span>parent<span style="color: #008080;">;</span>
	p<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>data<span style="color: #000080;">=</span>item<span style="color: #008080;">;</span>
	p<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>left<span style="color: #000080;">=</span><span style="color: #0000ff;">NULL</span><span style="color: #008080;">;</span>
	p<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>right<span style="color: #000080;">=</span><span style="color: #0000ff;">NULL</span><span style="color: #008080;">;</span>
	parent<span style="color: #000080;">=</span><span style="color: #0000ff;">NULL</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>isempty<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
		root<span style="color: #000080;">=</span>p<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">else</span>
	<span style="color: #008000;">&#123;</span>
		tree_node <span style="color: #000040;">*</span>ptr<span style="color: #008080;">;</span>
		ptr<span style="color: #000080;">=</span>root<span style="color: #008080;">;</span>
		<span style="color: #0000ff;">while</span><span style="color: #008000;">&#40;</span>ptr<span style="color: #000040;">!</span><span style="color: #000080;">=</span><span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			parent<span style="color: #000080;">=</span>ptr<span style="color: #008080;">;</span>
			<span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>item<span style="color: #000080;">&gt;</span>ptr<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>data<span style="color: #008000;">&#41;</span>		
				ptr<span style="color: #000080;">=</span>ptr<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>right<span style="color: #008080;">;</span>
			<span style="color: #0000ff;">else</span>
				ptr<span style="color: #000080;">=</span>ptr<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>left<span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>	
		<span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>item<span style="color: #000080;">&lt;</span>parent<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>data<span style="color: #008000;">&#41;</span>
			parent<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>left<span style="color: #000080;">=</span>p<span style="color: #008080;">;</span>
		<span style="color: #0000ff;">else</span>
			parent<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>right<span style="color: #000080;">=</span>p<span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> bst<span style="color: #008080;">::</span><span style="color: #007788;">inordertrav</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	inorder<span style="color: #008000;">&#40;</span>root<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> bst<span style="color: #008080;">::</span><span style="color: #007788;">inorder</span><span style="color: #008000;">&#40;</span>tree_node <span style="color: #000040;">*</span>ptr<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>ptr<span style="color: #000040;">!</span><span style="color: #000080;">=</span><span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		inorder<span style="color: #008000;">&#40;</span>ptr<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>left<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">cout</span><span style="color: #000080;">&lt;&lt;</span><span style="color: #FF0000;">&quot;  &quot;</span><span style="color: #000080;">&lt;&lt;</span>ptr<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>data<span style="color: #000080;">&lt;&lt;</span><span style="color: #FF0000;">&quot;     &quot;</span><span style="color: #008080;">;</span>
		inorder<span style="color: #008000;">&#40;</span>ptr<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>right<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> bst<span style="color: #008080;">::</span><span style="color: #007788;">postordertrav</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	postorder<span style="color: #008000;">&#40;</span>root<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> bst<span style="color: #008080;">::</span><span style="color: #007788;">postorder</span><span style="color: #008000;">&#40;</span>tree_node <span style="color: #000040;">*</span>ptr<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>ptr<span style="color: #000040;">!</span><span style="color: #000080;">=</span><span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		postorder<span style="color: #008000;">&#40;</span>ptr<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>left<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		postorder<span style="color: #008000;">&#40;</span>ptr<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>right<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">cout</span><span style="color: #000080;">&lt;&lt;</span><span style="color: #FF0000;">&quot;  &quot;</span><span style="color: #000080;">&lt;&lt;</span>ptr<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>data<span style="color: #000080;">&lt;&lt;</span><span style="color: #FF0000;">&quot;     &quot;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> bst<span style="color: #008080;">::</span><span style="color: #007788;">preordertrav</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	preorder<span style="color: #008000;">&#40;</span>root<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> bst<span style="color: #008080;">::</span><span style="color: #007788;">preorder</span><span style="color: #008000;">&#40;</span>tree_node <span style="color: #000040;">*</span>ptr<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>ptr<span style="color: #000040;">!</span><span style="color: #000080;">=</span><span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000dd;">cout</span><span style="color: #000080;">&lt;&lt;</span><span style="color: #FF0000;">&quot;  &quot;</span><span style="color: #000080;">&lt;&lt;</span>ptr<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>data<span style="color: #000080;">&lt;&lt;</span><span style="color: #FF0000;">&quot;     &quot;</span><span style="color: #008080;">;</span>
		preorder<span style="color: #008000;">&#40;</span>ptr<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>left<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		preorder<span style="color: #008000;">&#40;</span>ptr<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>right<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	bst b<span style="color: #008080;">;</span>
	b.<span style="color: #007788;">insert</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">52</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	b.<span style="color: #007788;">insert</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">25</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	b.<span style="color: #007788;">insert</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">50</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	b.<span style="color: #007788;">insert</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">15</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	b.<span style="color: #007788;">insert</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">40</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	b.<span style="color: #007788;">insert</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">45</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	b.<span style="color: #007788;">insert</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">20</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> <span style="color: #0000dd;">cout</span><span style="color: #000080;">&lt;&lt;</span><span style="color: #FF0000;">&quot;inorder&quot;</span><span style="color: #000080;">&lt;&lt;</span>endl<span style="color: #008080;">;</span>
	b.<span style="color: #007788;">inordertrav</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">cout</span><span style="color: #000080;">&lt;&lt;</span>endl<span style="color: #000080;">&lt;&lt;</span><span style="color: #FF0000;">&quot;postorder&quot;</span><span style="color: #000080;">&lt;&lt;</span>endl<span style="color: #008080;">;</span>
	b.<span style="color: #007788;">postordertrav</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">cout</span><span style="color: #000080;">&lt;&lt;</span>endl<span style="color: #000080;">&lt;&lt;</span><span style="color: #FF0000;">&quot;preorder&quot;</span><span style="color: #000080;">&lt;&lt;</span>endl<span style="color: #008080;">;</span>
	b.<span style="color: #007788;">preordertrav</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	getch<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://electrofriends.com/source-codes/software-programs/cpp-programs/cpp-data-structure/c-program-for-creation-and-traversal-of-a-binary-tree/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>C++ program to implement circular queue using array</title>
		<link>http://electrofriends.com/source-codes/software-programs/cpp-programs/cpp-advanced-programs/c-program-to-implement-circular-queue-using-array/</link>
		<comments>http://electrofriends.com/source-codes/software-programs/cpp-programs/cpp-advanced-programs/c-program-to-implement-circular-queue-using-array/#comments</comments>
		<pubDate>Wed, 02 Feb 2011 12:16:03 +0000</pubDate>
		<dc:creator>Ranjith</dc:creator>
				<category><![CDATA[Advanced programs]]></category>
		<category><![CDATA[array]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[circular queue]]></category>
		<category><![CDATA[download]]></category>

		<guid isPermaLink="false">http://electrofriends.com/?p=1269</guid>
		<description><![CDATA[#include &#60;iostream.h&#62; class cqueue &#123; private : int *arr ; int front, rear ; int MAX; public : cqueue&#40; int maxsize = 10 &#41; ; void addq &#40; int item &#41; ; int delq&#40; &#41; ; void display&#40; &#41; ; &#125; ; cqueue :: cqueue&#40; int maxsize &#41; &#123; MAX = maxsize ; arr = [...]]]></description>
			<content:encoded><![CDATA[
<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include &lt;iostream.h&gt;</span>
<span style="color: #0000ff;">class</span> cqueue
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">private</span> <span style="color: #008080;">:</span>
		<span style="color: #0000ff;">int</span> <span style="color: #000040;">*</span>arr <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">int</span> front, rear <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">int</span> MAX<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">public</span> <span style="color: #008080;">:</span>
		cqueue<span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">int</span> maxsize <span style="color: #000080;">=</span> <span style="color: #0000dd;">10</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">void</span> addq <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">int</span> item <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">int</span> delq<span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">void</span> display<span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span> <span style="color: #008080;">;</span>
cqueue <span style="color: #008080;">::</span> <span style="color: #007788;">cqueue</span><span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">int</span> maxsize <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	MAX <span style="color: #000080;">=</span> maxsize <span style="color: #008080;">;</span>
	arr <span style="color: #000080;">=</span> <span style="color: #0000dd;">new</span> <span style="color: #0000ff;">int</span> <span style="color: #008000;">&#91;</span> MAX <span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	front <span style="color: #000080;">=</span> rear <span style="color: #000080;">=</span> <span style="color: #000040;">-</span><span style="color: #0000dd;">1</span> <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span> <span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;</span> MAX <span style="color: #008080;">;</span> i<span style="color: #000040;">++</span> <span style="color: #008000;">&#41;</span>
		arr<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span> <span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> cqueue <span style="color: #008080;">::</span> <span style="color: #007788;">addq</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">int</span> item <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#40;</span> rear <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span> <span style="color: #008000;">&#41;</span> <span style="color: #000040;">%</span> MAX <span style="color: #000080;">==</span> front <span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>Queue is full&quot;</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">return</span> <span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	rear <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span> rear <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span> <span style="color: #008000;">&#41;</span> <span style="color: #000040;">%</span> MAX<span style="color: #008080;">;</span>
	arr<span style="color: #008000;">&#91;</span>rear<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> item <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> front <span style="color: #000080;">==</span> <span style="color: #000040;">-</span><span style="color: #0000dd;">1</span> <span style="color: #008000;">&#41;</span>
		front <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span> <span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">int</span> cqueue <span style="color: #008080;">::</span> <span style="color: #007788;">delq</span><span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">int</span> data <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> front <span style="color: #000080;">==</span> <span style="color: #000040;">-</span><span style="color: #0000dd;">1</span> <span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>Queue is empty&quot;</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">return</span> <span style="color: #0000ff;">NULL</span> <span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
&nbsp;
	data <span style="color: #000080;">=</span> arr<span style="color: #008000;">&#91;</span>front<span style="color: #008000;">&#93;</span> <span style="color: #008080;">;</span>
	arr<span style="color: #008000;">&#91;</span>front<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span> <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> front <span style="color: #000080;">==</span> rear <span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		front <span style="color: #000080;">=</span> <span style="color: #000040;">-</span><span style="color: #0000dd;">1</span> <span style="color: #008080;">;</span>
		rear <span style="color: #000080;">=</span> <span style="color: #000040;">-</span><span style="color: #0000dd;">1</span> <span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">else</span>
		front <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span> front <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span> <span style="color: #008000;">&#41;</span> <span style="color: #000040;">%</span> MAX<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">return</span> data <span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> cqueue <span style="color: #008080;">::</span> <span style="color: #007788;">display</span><span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> endl <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span> <span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;</span> MAX <span style="color: #008080;">;</span> i<span style="color: #000040;">++</span> <span style="color: #008000;">&#41;</span>
		<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> arr<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;  &quot;</span> <span style="color: #008080;">;</span>
	<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> endl <span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> main<span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	cqueue a <span style="color: #008000;">&#40;</span> <span style="color: #0000dd;">10</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	a.<span style="color: #007788;">addq</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000dd;">14</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	a.<span style="color: #007788;">addq</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000dd;">22</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	a.<span style="color: #007788;">addq</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000dd;">13</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	a.<span style="color: #007788;">addq</span> <span style="color: #008000;">&#40;</span> <span style="color: #000040;">-</span><span style="color: #0000dd;">6</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	a.<span style="color: #007788;">addq</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000dd;">25</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>Elements in the circular queue: &quot;</span> <span style="color: #008080;">;</span>
	a.<span style="color: #007788;">display</span><span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> a.<span style="color: #007788;">delq</span><span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;Item deleted: &quot;</span> <span style="color: #000080;">&lt;&lt;</span> i <span style="color: #008080;">;</span>
	i <span style="color: #000080;">=</span> a.<span style="color: #007788;">delq</span><span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>Item deleted: &quot;</span> <span style="color: #000080;">&lt;&lt;</span> i <span style="color: #008080;">;</span>
	<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>Elements in the circular queue after deletion: &quot;</span> <span style="color: #008080;">;</span>
	a.<span style="color: #007788;">display</span><span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	a.<span style="color: #007788;">addq</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000dd;">21</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	a.<span style="color: #007788;">addq</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000dd;">17</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	a.<span style="color: #007788;">addq</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000dd;">18</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	a.<span style="color: #007788;">addq</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000dd;">9</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	a.<span style="color: #007788;">addq</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000dd;">20</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;Elements in the circular queue after addition: &quot;</span> <span style="color: #008080;">;</span>
	a.<span style="color: #007788;">display</span><span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	a.<span style="color: #007788;">addq</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000dd;">32</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;Elements in the circular queue after addition: &quot;</span> <span style="color: #008080;">;</span>
	a.<span style="color: #007788;">display</span><span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://electrofriends.com/source-codes/software-programs/cpp-programs/cpp-advanced-programs/c-program-to-implement-circular-queue-using-array/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C++ program to implement Heap sort Algorithm</title>
		<link>http://electrofriends.com/source-codes/software-programs/cpp-programs/cpp-basic-programs/c-program-to-implement-heap-sort-algorithm/</link>
		<comments>http://electrofriends.com/source-codes/software-programs/cpp-programs/cpp-basic-programs/c-program-to-implement-heap-sort-algorithm/#comments</comments>
		<pubDate>Tue, 01 Feb 2011 13:38:53 +0000</pubDate>
		<dc:creator>Ranjith</dc:creator>
				<category><![CDATA[Basic Programs]]></category>
		<category><![CDATA[array]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[class]]></category>
		<category><![CDATA[Heap sort]]></category>
		<category><![CDATA[Source Codes]]></category>

		<guid isPermaLink="false">http://electrofriends.com/?p=1240</guid>
		<description><![CDATA[#include &#60;iostream.h&#62; const int MAX = 10 ; class array &#123; private : int arr&#91;MAX&#93; ; int count ; public : array&#40; &#41; ; void add &#40; int num &#41; ; void makeheap&#40;int &#41; ; void heapsort&#40; &#41; ; void display&#40; &#41; ; &#125; ; array :: array&#40; &#41; &#123; count = 0 ; for [...]]]></description>
			<content:encoded><![CDATA[
<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include &lt;iostream.h&gt;</span>
<span style="color: #0000ff;">const</span> <span style="color: #0000ff;">int</span> MAX <span style="color: #000080;">=</span> <span style="color: #0000dd;">10</span> <span style="color: #008080;">;</span>
<span style="color: #0000ff;">class</span> array
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">private</span> <span style="color: #008080;">:</span>
		<span style="color: #0000ff;">int</span> arr<span style="color: #008000;">&#91;</span>MAX<span style="color: #008000;">&#93;</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">int</span> count <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">public</span> <span style="color: #008080;">:</span>
		array<span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">void</span> add <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">int</span> num <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">void</span> makeheap<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">void</span> heapsort<span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">void</span> display<span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span> <span style="color: #008080;">;</span>
array <span style="color: #008080;">::</span> <span style="color: #007788;">array</span><span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	count <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span> <span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span> <span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;</span> MAX <span style="color: #008080;">;</span> i<span style="color: #000040;">++</span> <span style="color: #008000;">&#41;</span>
		arr<span style="color: #008000;">&#91;</span>MAX<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span> <span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> array <span style="color: #008080;">::</span> <span style="color: #007788;">add</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">int</span> num <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> count <span style="color: #000080;">&lt;</span> MAX <span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		arr<span style="color: #008000;">&#91;</span>count<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> num <span style="color: #008080;">;</span>
		count<span style="color: #000040;">++</span> <span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">else</span>
		<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>Array is full&quot;</span> <span style="color: #000080;">&lt;&lt;</span> endl <span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> array <span style="color: #008080;">::</span> <span style="color: #007788;">makeheap</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> c<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
&nbsp;
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span> <span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;</span> c <span style="color: #008080;">;</span> i<span style="color: #000040;">++</span> <span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">int</span> val <span style="color: #000080;">=</span> arr<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">int</span> s <span style="color: #000080;">=</span> i <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">int</span> f <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span> s <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span> <span style="color: #008000;">&#41;</span> <span style="color: #000040;">/</span> <span style="color: #0000dd;">2</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span> s <span style="color: #000080;">&gt;</span> <span style="color: #0000dd;">0</span> <span style="color: #000040;">&amp;&amp;</span> arr<span style="color: #008000;">&#91;</span>f<span style="color: #008000;">&#93;</span> <span style="color: #000080;">&lt;</span> val <span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			arr<span style="color: #008000;">&#91;</span>s<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> arr<span style="color: #008000;">&#91;</span>f<span style="color: #008000;">&#93;</span> <span style="color: #008080;">;</span>
			s <span style="color: #000080;">=</span> f <span style="color: #008080;">;</span>
			f <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span> s <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span> <span style="color: #008000;">&#41;</span> <span style="color: #000040;">/</span> <span style="color: #0000dd;">2</span> <span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
		arr<span style="color: #008000;">&#91;</span>s<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> val <span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> array <span style="color: #008080;">::</span> <span style="color: #007788;">heapsort</span><span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> count <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span> <span style="color: #008080;">;</span> i <span style="color: #000080;">&gt;</span> <span style="color: #0000dd;">0</span> <span style="color: #008080;">;</span> i<span style="color: #000040;">--</span> <span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">int</span> ivalue <span style="color: #000080;">=</span> arr<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #008080;">;</span>
		arr<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> arr<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span> <span style="color: #008080;">;</span>
		arr<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span>ivalue<span style="color: #008080;">;</span>
		makeheap<span style="color: #008000;">&#40;</span>i<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> array <span style="color: #008080;">::</span> <span style="color: #007788;">display</span><span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span> <span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;</span> count <span style="color: #008080;">;</span> i<span style="color: #000040;">++</span> <span style="color: #008000;">&#41;</span>
		<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> arr<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\t</span>&quot;</span> <span style="color: #008080;">;</span>
	<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> endl <span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> main<span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	array a <span style="color: #008080;">;</span>
&nbsp;
	a.<span style="color: #007788;">add</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000dd;">11</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	a.<span style="color: #007788;">add</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000dd;">2</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	a.<span style="color: #007788;">add</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000dd;">9</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	a.<span style="color: #007788;">add</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000dd;">13</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	a.<span style="color: #007788;">add</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000dd;">57</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	a.<span style="color: #007788;">add</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000dd;">25</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	a.<span style="color: #007788;">add</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000dd;">17</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	a.<span style="color: #007788;">add</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000dd;">1</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	a.<span style="color: #007788;">add</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000dd;">90</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	a.<span style="color: #007788;">add</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000dd;">3</span>  <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	a.<span style="color: #007788;">makeheap</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">10</span><span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>Heap Sort.<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span> <span style="color: #008080;">;</span>
	<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>Before Sorting:<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>  <span style="color: #008080;">;</span>
	a.<span style="color: #007788;">display</span><span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	a.<span style="color: #007788;">heapsort</span><span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
	<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>After Sorting:<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span> <span style="color: #008080;">;</span>
	a.<span style="color: #007788;">display</span><span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://electrofriends.com/source-codes/software-programs/cpp-programs/cpp-basic-programs/c-program-to-implement-heap-sort-algorithm/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

