<?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>Datastructure | Student Projects</title>
	<atom:link href="https://studentprojects.in/tag/datastructure/feed/" rel="self" type="application/rss+xml" />
	<link>https://studentprojects.in</link>
	<description>Microcontroller projects, Circuit Diagrams, Project Ideas</description>
	<lastBuildDate>Thu, 11 Mar 2010 17:16:36 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.1.7</generator>
	<item>
		<title>C++ program that uses non-recursive functions to traverse a binary tree in Pre-order</title>
		<link>https://studentprojects.in/software-development/cpp/cpp-programs/cpp-data-structure/c-program-that-uses-non-recursive-functions-to-traverse-a-binary-tree-in-pre-order/</link>
					<comments>https://studentprojects.in/software-development/cpp/cpp-programs/cpp-data-structure/c-program-that-uses-non-recursive-functions-to-traverse-a-binary-tree-in-pre-order/#comments</comments>
		
		<dc:creator><![CDATA[Editorial Team]]></dc:creator>
		<pubDate>Thu, 11 Mar 2010 17:16:36 +0000</pubDate>
				<category><![CDATA[Data structure]]></category>
		<category><![CDATA[C Programs]]></category>
		<category><![CDATA[non-recursive]]></category>
		<category><![CDATA[binary tree]]></category>
		<category><![CDATA[Datastructure]]></category>
		<category><![CDATA[traverse]]></category>
		<guid isPermaLink="false">http://studentprojects.in/?p=1028</guid>

					<description><![CDATA[<p>/* Write C++ program that uses non-recursive functions to traverse a binary tree in Pre-order */ #include #include #include using namespace std; class node { public: class node *left; class node *right; int data; }; class tree: public node { public: int stk[50],top; node *root; tree() { root=NULL; top=0; } void insert(int ch) { node</p>
<p>The post <a href="https://studentprojects.in/software-development/cpp/cpp-programs/cpp-data-structure/c-program-that-uses-non-recursive-functions-to-traverse-a-binary-tree-in-pre-order/">C++ program that uses non-recursive functions to traverse a binary tree in Pre-order</a> first appeared on <a href="https://studentprojects.in">Student Projects</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>/* Write C++ program that uses non-recursive functions to traverse a binary tree in Pre-order */</p>
<pre lang="cpp">
#include<iostream>
#include<conio.h>
#include<stdlib.h>
using namespace std;
class node
{
public:
class node *left;
class node *right;
int data;
};

class tree: public node
{
public:
int stk[50],top;
node *root;
tree()
{
root=NULL;
top=0;
}
void insert(int ch)
{
	node *temp,*temp1;
	if(root== NULL)
	{
		root=new node;
		root->data=ch;
		root->left=NULL;
		root->right=NULL;
		return;
	}
	temp1=new node;
	temp1->data=ch;
	temp1->right=temp1->left=NULL;
	temp=search(root,ch);
	if(temp->data>ch)
		temp->left=temp1;
	else
		temp->right=temp1;

}

node *search(node *temp,int ch)
{
	if(root== NULL)
	{
		cout <<"no node present";
		return NULL;
	}
	if(temp->left==NULL && temp->right== NULL)
		return temp;

	if(temp->data>ch)
	     {  if(temp->left==NULL) return temp;
		search(temp->left,ch);}
	else
	      { if(temp->right==NULL) return temp;
	      search(temp->right,ch);

}              }

void display(node *temp)
{
	if(temp==NULL)
	 return ;
	display(temp->left);
       cout<<temp->data <<" ";
	display(temp->right);
}
void preorder( node *root)
{
	node *p,*q;
	p=root;
	q=NULL;
	top=0;

	while(p!=NULL)
	{
		cout <<p->data  << " ";
		if(p->right!=NULL)
		{
			stk[top]=p->right->data;
			top++;
		}
		p=p->left;
		if(p==NULL && top>0)
	{
		p=pop(root);
	}
	}
}

node * pop(node *p)
{
int ch;
ch=stk[top-1];
if(p->data==ch)
{
top--;
return p;
}
if(p->data>ch)
pop(p->left);
else
pop(p->right);
}
};
main()
{
	tree t1;
	int ch,n,i;
	while(1)
	{
		cout <<"\n1.INSERT\n2.DISPLAY 3.PREORDER TRAVERSE\n4.EXIT\nEnter your choice:";
		cin >> ch;
		switch(ch)
		{
		case 1:   cout <<"enter no of elements to insert:";
			  cout<<"\n enter the elements";
			  cin >> n;
			  for(i=1;i<=n;i++)
			  {  cin >> ch;
			     t1.insert(ch);
			  }
			   break;
		case 2:   t1.display(t1.root);break;
		case 3:   t1.preorder(t1.root); break;
		case 4:   exit(1);
		}
	}
}
</pre>
<p><strong>OUTPUT</strong></p>
<p>1.INSERT<br />
2.DISPLAY 3.PREORDER TRAVERSE<br />
4.EXIT<br />
Enter your choice:1<br />
enter no of elements to insert<br />
 enter the elements7<br />
5 24 36 11 44 2 21</p>
<p>1.INSERT<br />
2.DISPLAY 3.PREORDER TRAVERSE<br />
4.EXIT<br />
Enter your choice:2<br />
2 5 11 21 24 36 44</p>
<p>1.INSERT<br />
2.DISPLAY 3.PREORDER TRAVERSE<br />
4.EXIT<br />
Enter your choice:3<br />
5 2 24 11 21 36 44</p>
<p>1.INSERT<br />
2.DISPLAY 3.PREORDER TRAVERSE<br />
4.EXIT<br />
Enter your choice:4</p><p>The post <a href="https://studentprojects.in/software-development/cpp/cpp-programs/cpp-data-structure/c-program-that-uses-non-recursive-functions-to-traverse-a-binary-tree-in-pre-order/">C++ program that uses non-recursive functions to traverse a binary tree in Pre-order</a> first appeared on <a href="https://studentprojects.in">Student Projects</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://studentprojects.in/software-development/cpp/cpp-programs/cpp-data-structure/c-program-that-uses-non-recursive-functions-to-traverse-a-binary-tree-in-pre-order/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>C++ programs for the implementation of Depth-first search(DFS) for a given graph</title>
		<link>https://studentprojects.in/software-development/cpp/cpp-programs/cpp-data-structure/c-programs-for-the-implementation-of-depth-first-searchdfs-for-a-given-graph/</link>
					<comments>https://studentprojects.in/software-development/cpp/cpp-programs/cpp-data-structure/c-programs-for-the-implementation-of-depth-first-searchdfs-for-a-given-graph/#comments</comments>
		
		<dc:creator><![CDATA[Editorial Team]]></dc:creator>
		<pubDate>Thu, 11 Mar 2010 16:50:46 +0000</pubDate>
				<category><![CDATA[Data structure]]></category>
		<category><![CDATA[C Programs]]></category>
		<category><![CDATA[graph]]></category>
		<category><![CDATA[Depth-first search]]></category>
		<category><![CDATA[DFS]]></category>
		<category><![CDATA[Datastructure]]></category>
		<guid isPermaLink="false">http://studentprojects.in/?p=1019</guid>

					<description><![CDATA[<p>/* Write C++ programs for the implementation of Depth-first search(DFS) for a given graph */ #include #include #include using namespace std; int cost[10][10],i,j,k,n,stk[10],top,v,visit[10],visited[10]; main() { int m; cout n; cout m; cout >j; cost[i][j]=1; } cout v; cout</p>
<p>The post <a href="https://studentprojects.in/software-development/cpp/cpp-programs/cpp-data-structure/c-programs-for-the-implementation-of-depth-first-searchdfs-for-a-given-graph/">C++ programs for the implementation of Depth-first search(DFS) for a given graph</a> first appeared on <a href="https://studentprojects.in">Student Projects</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>/* Write C++ programs for the implementation of Depth-first search(DFS) for a given graph */</p>
<pre lang="cpp">
#include<iostream>
#include<conio.h>
#include<stdlib.h>
using namespace std;
int cost[10][10],i,j,k,n,stk[10],top,v,visit[10],visited[10];

main()
{
int m;
cout <<"enterno of vertices";
cin >> n;
cout <<"ente no of edges";
cin >> m;
cout <<"\nEDGES \n";
for(k=1;k<=m;k++)
{
cin >>i>>j;
cost[i][j]=1;
}

cout <<"enter initial vertex";
cin >>v;
cout <<"ORDER OF VISITED VERTICES";
cout << v <<" ";
visited[v]=1;
k=1;
while(k<n)
{
for(j=n;j>=1;j--)
if(cost[v][j]!=0 && visited[j]!=1 && visit[j]!=1)
{
visit[j]=1;
stk[top]=j;
top++;
}
v=stk[--top];
cout<<v << " ";
k++;
visit[v]=0; visited[v]=1;
}
}
</pre>
<p><strong>OUTPUT</strong></p>
<p>enterno of vertices9<br />
ente no of edges9</p>
<p>EDGES<br />
1 2<br />
2 3<br />
2 6<br />
1 5<br />
1 4<br />
4 7<br />
5 7<br />
7 8<br />
8 9<br />
enter initial vertex1<br />
ORDER OF VISITED VERTICES1 2 3 6 4 7 8 9 5</p><p>The post <a href="https://studentprojects.in/software-development/cpp/cpp-programs/cpp-data-structure/c-programs-for-the-implementation-of-depth-first-searchdfs-for-a-given-graph/">C++ programs for the implementation of Depth-first search(DFS) for a given graph</a> first appeared on <a href="https://studentprojects.in">Student Projects</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://studentprojects.in/software-development/cpp/cpp-programs/cpp-data-structure/c-programs-for-the-implementation-of-depth-first-searchdfs-for-a-given-graph/feed/</wfw:commentRss>
			<slash:comments>31</slash:comments>
		
		
			</item>
	</channel>
</rss>
