Get Paid To Promote, Get Paid To Popup, Get Paid Display Banner
Showing posts with label DS. Show all posts
Showing posts with label DS. Show all posts

Sunday, February 27, 2011

STAKLINK

/*  Write a Program to perform the following operation stack using linklist. */
/* PUSH, POP, ISEMPTY, ISFULL, PEEP */
struct list
{
int info;
struct list *next;
}*start,*q,*node,*p;
#define max 4
void push();
void pop();
int isempty();
int isfull();
void peep();
void disp();
int top=-1,stack[max];
void main()
{

int ret,s1,choice;
clrscr();

start = '\0';

do
{
printf("\n\n1 : Push element in Stack.\n");
printf("2 : Pop an element from stack.\n");
printf("3 : Peep an element into stack.\n");
printf("4 : Exit from Program.\n");
printf("Enter your choice : ");
scanf("%d",&choice);

switch(choice)
{
case 1:
ret = isfull();
if(ret!=1)
push();
disp();
break;
case 2:
ret = isempty();
if(ret != 1)
pop();
disp();
break;
case 3:
ret = isempty();
if(ret != 1)
peep();
disp();
break;
case 4:
exit();
default :
printf("\n\n\t\t######## INVALID CHOICE ##########\n\n");
}

}while(s1);

}



int isfull()
{
if(top == max)
{
printf("\n\n\t\t####### STCK IS OVERFLOW #########\n\n");
return 1;
}
else
return 0;
}


int isempty()
{
if(top == -1)
{
printf("\n\n\t\t####### STCK IS UNDERFLOW #########\n\n");
return 1;
}
else
return 0;
}

void push()
{
int item;
printf("\nEnter an Integer value : ");
scanf("%d",&item);
top = top + 1;

node = (struct list *)malloc(sizeof(struct list));
node->info = item;
node->next = '\0';
p = start;

if (start == '\0')
start = node;
else
{
while(p->next != '\0')
p = p->next;
p->next = node;
}

}

void pop()
{
int item;
q = start;
p = start->next;
while(p->next!='\0')
{
p = p->next;
q = q->next;
}
item = p->info;

if(p==start)
start = '\0';

q->next='\0';
top = top -1;
printf("\n\n\t\t%d is deleted\n",item);
}


void peep()
{
int item,q;
printf("\n\nEnter position : ");
scanf("%d",&q);
p = start;

while(q<=top)
{
p = p->next;
q++;
}

printf("\n\nYour selected Element is %d ",p->info);
}

void disp()
{

p = start;
printf("\n\nStack Contains : ");

while(p!='\0')
{
printf("%d ",p->info);
p = p->next;
}
}


recursive

void main(int n)
{
printf("%d ",n);
n++;
if(n>100)
exit(getch());
main(n);
}

STAARRAY

/*  Write a Program to perform the following operation stack using array. */
/* PUSH, POP, ISEMPTY, ISFULL, PEEP */
#define max 4
void push();
void pop();
int isempty();
int isfull();
void peep();
void disp();
int top=-1,stack[max];
void main()
{
int ret,s1,choice;
clrscr();
do
{
printf("\n\n1 : Push element in Stack.\n");
printf("2 : Pop an element from stack.\n");
printf("3 : Peep an element into stack.\n");
printf("4 : Exit from Program.\n");
printf("Enter your choice : ");
scanf("%d",&choice);

switch(choice)
{
case 1:
ret = isfull();
if(ret!=1)
push();
disp();
break;
case 2:
ret = isempty();
if(ret != 1)
pop();
disp();
break;
case 3:
ret = isempty();
if(ret != 1)
peep();
disp();
break;
case 4:
exit();
default :
printf("\n\n\t\t######## INVALID CHOICE ##########\n\n");
}

}while(s1);

}



int isfull()
{
if(top == max)
{
printf("\n\n\t\t####### STCK IS OVERFLOW #########\n\n");
return 1;
}
else
return 0;
}


int isempty()
{
if(top == -1)
{
printf("\n\n\t\t####### STCK IS UNDERFLOW #########\n\n");
return 1;
}
else
return 0;
}

void push()
{
int item;
printf("\nEnter an Integer value : ");
scanf("%d",&item);
top = top + 1;
stack[top] = item;
}

void pop()
{
int item;
item = stack[top];
top = top -1;
printf("\n\n\t\t%d is deleted\n",item);
}


void peep()
{
int item,p;
printf("\n\nEnter position : ");
scanf("%d",&p);
printf("\n\nYour selected Element is %d ",stack[top-p+1]);
}

void disp()
{
int i;
printf("\n\nStack Contains : ");
for(i=0;i<=top;i++)
printf("%d ",stack[i]);
}



postfix

/*   Write a Program for to evaluate postfix expression    */
char postfix[100];
static i,top;
long int stack[20];
void main()
{
int temp,p;
clrscr();
printf("Enter Postfix Expression : ");
scanf("%s",postfix);

for(i=0;postfix[i]!='\0';i++)
{

if(postfix[i]=='$' || postfix[i]=='^')
{
temp = stack[top-1];
p = stack[top-2];
while(temp>1)
{
stack[top-2] *=p;
temp--;
}
top--;
}
else if(postfix[i] == '+')
{
stack[top-2] += stack[top-1];
top--;
}
else if(postfix[i] == '-')
{
stack[top-2] -= stack[top-1];
top--;
}
else if(postfix[i] == '*')
{
stack[top-2] *= stack[top-1];
top--;
}
else if(postfix[i] == '/')
{
stack[top-2] /= stack[top-1];
top--;
}
else if(postfix[i]!=',')
{
stack[top] = postfix[i]-48;
while(postfix[i+1]!=',')
{
stack[top] *= 10 + postfix[i+1]-48;
i++;
}
top++;
}
}
printf("\nValue of Postfix Expression : %ld",stack[top-1]);
getch();
}






new | DS

#include
#include
#include
void main()
{
int n,i, *p,*q;
clrscr();

printf("Howmany number that u want to store : ");
scanf("%d",&n);
p = new int[n];
q=p;
printf("Enter %d Elements : \n",n);
for(i=0;i {
scanf("%d",p);
p++;
}

printf("An array will Contains : ");
for(i=0;i {
printf("%d ",*q);
q++;
}


getch();
}

GCD

/* Write a Program for to find the GCD of two numbers */
int gcd(int,int)
void main()
{
int no1,no2,ans;
clrscr();
printf("Enter Integer Number : ");
scanf("%d",&no1);
printf("Enter Second Number: ");
scanf("%d",&no2);
ans = gcd(no1,no2);
printf("GCD of two Number is : %d",ans);
getch();
}

int gcd(int m,int n)
{
if(n == 0)
return m;
else
gcd(n,(m%n));
}

Doubly

/*  Write a Program to create doubly linklist */

void first();
void last();
void disp();
void specific();
struct doubly
{
int info;
struct doubly *lptr,*rptr;
}*node,*l,*r,*p;

void main()
{
int item,choice,s1;
clrscr();
printf("Enter an item 99 for stop : ");
scanf("%d",&item);
node = (struct doubly *)malloc( sizeof(struct doubly));
l = r = p = node;
if(item == 99)
r = l = '\0';

while(item!=99)
{
node->info = item;

p->rptr = node; //This two line make left to right link
p = p->rptr;

node->lptr = r; //this three line make right to left link
// r->rptr = node;
r = node;

node->rptr = '\0';
node = (struct doubly *)malloc(sizeof(struct doubly));
scanf("%d",&item);
}

/* The above while loop will create doubly link list whose left node adress
is stored in l and right node address is stored in r */

l->lptr = '\0';
disp(); //Disp function is display left and right traversal.

do
{
printf("\n\n1 : Insert first.\n");
printf("2 : Insert Last.\n");
printf("3 : Insert Specific Position\n");
printf("4 : Exit from Program.\n");
printf("\nEnter Your Choice : ");
scanf("%d",&choice);
switch(choice)
{
case 1:
first();
disp();
break;
case 2 :
last();
disp();
break;
case 3 :
specific();
disp();
break;
case 4 :
exit();
default:
printf("\n\n\t\t######## INVALID CHOICE #########\n\n");
}
printf("\n\nDo you want to continue? if yes, press 1 : ");
scanf("%d",&s1);
}while(s1==1);
}




void disp()
{

p = l;
printf("\nLeft Traversal : ");
while(p!='\0')
{
printf("%d ",p->info);
p = p->rptr;
}

p = r;
printf("\nRight Traversal : ");
while(p!='\0')
{
printf("%d ",p->info);
p = p->lptr;
}

}

void first()
{
int item;
printf("Enter an integer value : ");
scanf("%d",&item);
node = (struct doubly *)malloc( sizeof(struct doubly));
node->lptr = '\0';
node->info = item;


node->rptr = l;
l->lptr = node;
l=node;
if(r == '\0')
r = l;

}
void last()
{
int item;
printf("Enter an integer value : ");
scanf("%d",&item);
node = (struct doubly *)malloc( sizeof(struct doubly));
node->rptr = '\0';
node->info = item;

node->lptr = r;
r->rptr = node;
r=node;
if(l=='\0')
l = r;


}


void specific()
{
int item,z,n=2;
printf("Enter an integer value : ");
scanf("%d",&item);
printf("Enter Position : ");
scanf("%d",&z);
node = (struct doubly *)malloc( sizeof(struct doubly));
node->info = item;
p = l;

if(z==1)
{
node->lptr = '\0';
node->rptr = l;
l->lptr = node;
l=node;
if(r=='\0')
r = l;
}
else
{
while(z>n)
{
p = p->rptr;
if(p == '\0')
{
printf("\n\n\t\tPosition is Not Found\n");
return;
}
z--;
}
if(p->rptr=='\0')
{
node->rptr = '\0';
p->rptr = node;
node->lptr = p;
p = node;
r = p;
}

else
{
p->rptr->lptr = node;
node->rptr = p->rptr;
p->rptr = node;
node->lptr = p;
}
}
}

Bisection method

/* Write a Program to solve equation using Bisection Method */
#include
float bisection(float,float,float);
void main()
{
float xl,xu,ea,fxr;
clrscr();
printf("Enter Lower Bound : ");
scanf("%f",&xl);
printf("Enter Upper Bound : ");
scanf("%f",&xu);
printf("Enter Percentage Error : ");
scanf("%f",&ea);
fxr = bisection(xl,xu,ea);
printf("F(xr) : %.2f",fxr);
getch();
}

float bisection(float xl,float xu,float ea)
{
float xr,fxr,tmp;
do
{
xr = (xl + xu) / 2;
fxr = ((xr*xr*xr) -9 * xr + 1);

if(fxr*xu < 0)
xu = xr;
else if(fxr*xu>0)
xl = xr;
else
xr = 0;

if(fxr<0)
tmp = fxr * -1;
}while(tmp>ea);
return xr;
}

Data structure

620002 Programming Skills – II (DS)

Programming Skills II(DS) All Programs

DS All programs by Lecturer only for suggestion
New! shared by:
Ms. Zarana Upadhyay (Lecturer - NSVKMS MCA College, Visnagar )

DS All programs Collection
shared by: Vipul (SVICS - KADI)

DS All programs Collection
shared by: Chirag M Daxini
(L.J. Institute Of Engineering & Technology - Ahmedabad)

DS programs in C++
shared by: ANAND A PANDYA (SSIT-GandhiNagar)

Different operations on SINGLY LINK LIST
shared by: Ajay A Ardeshana
Lecturer
MCA Department
GARDI VIDYAPITH


Data Structure Programs
shared by: SadikHasan (SVICS -KADI)

Program that implements depth first search algorithm.
Program that implements breadth first search algorithm
Program to find the minimum cost of a spanning tree
Program to find the minimum cost of a spanning tree
(((Download)))
shared by: Sanjay Patel,
Programmer,
CyberQ Consulting,
M-9427320343.

620001 Data Structures (DS)


Full DS by keval.rar
Shared By:Keval Nagaria(JVIMS MCA Jamnagar)


Data Structure By Hiren Vyas.rar
shared by : Hiren Vyas

Objective Questions With Key.pdf
shared by : Vipul Joshi (SVICS - KADI)

ds question bank.rar
shared by : Sandip Patel (ldrp)