Skip to main content

Learn

Programs are to be posted later.
Thank u people.

Note: These are lab programs, only for students


Stack.c



#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#define STKSIZE 10
struct stack
{
int elements[STKSIZE];
int top;
};
struct stack s;
int menu()
{
int ch;
clrscr();
printf("\n stack operations using array...");
printf("\n 1.push");
printf("\n 2.pop");
printf("\n 3.display");
printf("\n 4.quit");
printf("\n enter your choice");
scanf("%d",&ch);
return ch;
}
void display()
{
int i;
if(s.top==-1)
{
printf("\n stack empty");
exit(0);
}
else
{
printf("\n elements in stack are:");
for(i=0;i<=s.top;i++)
printf("\t%d",s.elements[i]);
}
}
void pop()
{
if(s.top==-1)
{
printf("\n stack underflow");
exit(0);
}
else
{
printf("\n popped elements is=%d",s.elements[s.top]);
s.top=s.top-1;
}
}
void push()
{
int data;
if(s.top==STKSIZE-1)
{
printf("\n stack overflow");
exit(0);
}
else
{
printf("\n enter data");
scanf("%d",&data);
s.top=s.top+1;
s.elements [s.top]=data;
printf("\n data pushed into stack");
}
}
void main()
{
int ch;
s.top=-1;
do
{
ch=menu();
switch(ch)
{
case 1:push();
       break;
case 2:pop();
       break;
case 3:display();
       break;
case 4:exit(0);
}
getch();
}
while(1);
}


Ssort



#include<stdio.h>
void main()
{
int a[30],i,j,n,t;
clrscr();
printf("Input the size of an array\n");
scanf("%d",&n);
printf("Enter the elements of an array\n");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
if(a[i]>a[j])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
printf("the stored array is:\n");
for(i=0;i<n;i++)
printf("%d\n",a[i]);
getch();
}


Sll



#include<stdio.h><conio.h><stdlib.h>
struct node
{
int data;
struct *next;
};
struct node *start=NULL;
int menu()
{
int choice;
clrscr();

printf("\n1.Insert a node\n2.Delete\n3.Display\n4.Search\n5.Exit");

printf("Enter your choice");
scanf("%d",&choice);
return choice;
}
struct node *getnode()
{
struct node *newnode;
newnode=(struct node *)malloc(sizeof(struct node));
printf("\nEnter data");
scnaf("%d",&newnode->data);
newnode->next=NULL;
return newnode;
}
void insert()
{
struct node *newnode;
newnode=getnode();

if(start==NULL)
{
start=newnode;
}
else
{
newnode->next=start;
start=newnode;
}
}
void delete()
{
struct node *temp;
if(start==NULL)
{
printf("\nNo node exist");
return;
}
else
{
temp=start;
start=temp->next;
free(temp);
printf("\nNode deleted");
}
}
void display()
{
struct node *temp;
temp=start;
printf("The cpntent of int \n");
if(start==NULL)
print("\nist is empty\n");
else
{
while(temp!=NULL)
{
printf("%d",temp->data);
temp=temp->next;
}
}
}
void searchnode(struct node *ptr,int item)
{
while(ptr!=NULL)
{
if(ptr->data==item)
{
printf("%d foudn",item);
break;
}
else
ptr=ptr->next;
}
if(ptr==NULL)
printf("%d not found ",item);
}
void main()
{
int ch,n.element;
clrscr();
while(1)
{
ch=menu();
switch(ch)
{
case 1:insert();
break;
case 2:delete();
break;
case 3:display();
break;
case 4:printf("Enter the element to be reached\n");
scanf("%d",&element);
searchnode(start,element);
break;
case 5:exit(0)
}
getch();
}
}


Qlinkd




#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
struct queue
{
int data;
struct queue *next;
};
struct queue *front=NULL;
struct queue *rear=NULL;
struct queue *getnode();
void Qinsert();
void Qdelete();
void Qdisplay();
void main()
{
int ch;
do
{
ch=menu();
switch(ch)
{
case 1:Qinsert();
       break;
case 2:Qdelete();
       break;
case 3:Qdisplay();
       break;
case 4:exit(0);
}
getch();
}
while(1);
}
struct queue *getnode()
{
struct queue *newnode;
newnode=(struct queue *)malloc(sizeof(struct queue));
printf("\n Enter data");
scanf("%d",&newnode->data);
newnode->next=NULL;
return newnode;
}
int menu()
{
int ch;
clrscr();
printf("\n 1.insert");
printf("\n 2.delete");
printf("\n 3.display");
printf("\n 4.quit");
printf("\n Enter your choice");
scanf("%d",&ch);
return ch;
}
void Qinsert()
{
struct queue *newnode;
newnode=getnode();
if(front==NULL)
{
front=newnode;
rear=newnode;
}
else
{
rear->next=newnode;
rear=newnode;
}
printf("\n \t data inserted into queue");
}
void Qdelete()
{
struct queue *temp;
if(front==NULL)
{
printf("\n\n empty queue");
exit(0);
}
temp=front;
front=front->next;
printf("\n\t deleted element from queue is %d",temp->data);
free(temp);
}
void Qdisplay()
{
struct queue *temp;
if(front==NULL)
{
printf("\n\t Empty queue");
}
else
{
temp=front;
printf("\n\t elements in queue");
while(temp!=NULL)
{
printf("%d",temp->data);
temp=temp->next;
}
}
}


Qarry




#include<stdio.h><conio.h><stdlib.h>
#define SIZE 5
struct queue
{
int que[SIZE];
int front,rear;
}Q;
Qfull()
{
if(Q.rear>=SIZE-1)
return 1;
else
return 0;
}
int insert(int item)
{
if(Q.front==-1)
Q.front++;
Q.que[++Q.rear]=item;
return Q.rear;
}
int Qempty()
{
if((Q.front==-1)||(Q.front>Q.rear))
return 1;
else
return 0;
}
int delete()
{
int item;
item=Q.que[Q.front];
Q.front++;
printf("\n The deleted item is %d",item);
return Q.front;
}
void display()
{
int i;
for(i=Q.front;i<Q.rear;i++)
printf("%d",Q.que[i]);
}
void main(void)
{
int choice,item;
char ans;
clrscr();
Q.front=-1;
Q.rear=-1;
do
{
printf("\n main menu");
printf("\n1.insert \n2.delete \n3.display");
printf("\n Enter your choice");
scanf("%d",&choice);
switch(choice)
{
case 1:if(Qfull())
printf("\n cant insert element");
else
{
printf("\nEnter number to be inserted");
scanf("%d",&item);
insert(item);
}
break;
case 2:if(Qempty())
printf("\n Queue underflow");
else
delete();
break;
case 3:if(Qempty())
printf("\n Queue is empty");
else
display();
break;
default:printf("\n wrong choice");
break;
}
printf("\n do you want to continue?");
ans=getche();
}
while(ans=='Y'|| ans=='y');
}


Postfx



#include<stdio.h>
int stack[20];
int top =-1;
void push(int x)
{
stack[++top]=x;
}
int pop()
{
return stack[top--];
}
int main()
{
char exp[20];
char *e;
int n1,n2,n3,num;
clrscr();
printf("Enter the postfix expression\n");
scanf("%s",exp);
e=exp;
while(*e!='\0')
{
if(isdigit(*e))
{
num=*e-48;
push(num);
}
else
{
n1=pop();
n2=pop();
switch(*e)
{
case'+':
{
n3=n1+n2;
break;
}
case'_':
{
n3=n1-n2;
break;
}
case'*':
{
n3=n1*n2;
break;
}
case'/':
{
n3=n2/n1;
break;
}
}
push(n3);
}
e++;
}
printf("the result of expression %s=%d\n\n",exp,pop());
getch();
return 0;
}

Lsrch



#include<stdio.h>
void main()
{
int num[20],n,data,i,flag=0;
clrscr();
printf("Enter the number of elements");
scanf("%d",&n);
printf("Enter the elements\n");
for(i=0;i<n;i++)
scanf("%d",&num[i]);
printf("Enter element to be searched");
scanf("%d",&data);
for(i=0;i<n;i++)
{
if(num[i]==data)
{
flag=1;
break;
}
}
if(flag==1)
printf("Data found at location %d",i+1);
else
printf("Data not found");
getch();
}

Bsort

#include<stdio.h>
#include<conio.h>
void bubblesort(int a[],int n)
{
int i,j,temp,exchg=0;
for(i=0; i<n-1; i++)
{
for(j=0;j<n-i-1;j++)
{
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
exchg=exchg+1;
}
if(exchg==0)
break;
}
}
}
void main()
{
int i,n,x[25];
clrscr();
printf("\n enter the number of element:");
scanf("%d",&n);
printf("\n enter the element of array");
for(i=0;i<n;i++)
scanf("%d",&x[i]);
bubblesort(x,n);
printf("/n array element after sporting");
for(i=0;i<n;i++)
printf("%5d",x[i]);
getch();
}


Gcd




#include<stdio.h>
void main()
{
int x,y,result;
int gcd(int x,int y);
clrscr();
printf("Enter two integer\n");
scanf("%d%d",&x,&y);
result=gcd(x,y);
printf("Gcd of %4d and %4d is=%d\n",x,y,result);
getch();
}
int gcd(int x,int y)
{
int result,temp;
if(y<=x && x%y==0)
return y;
else
{
if(x<y)
return(gcd(y,x));
else
result=x%y;
return(gcd(y,result));
}
}




Bsrch




#include<stdio.h>
#include<conio.h>
void main()
{
int t,j,a[25],n,data,i,flag=0;
int low,high,mid;
clrscr();
printf("Enter the number of elements");
scanf("%d",&n);
printf("Enter the elements\n");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
if(a[i]>a[j])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
printf("Array elements after sorting\n");
for(i=0;i<n;i++)
printf("%d\t",a[i]);
printf("\nEnter element to be searched");
scanf("%d",&data);
low=0,high=n-1;
while(low<=high)
{
mid=(low+high)/2;
if(a[mid]==data)
{
flag=1;
break;
}
else if(data<a[mid])
high=mid-1;
else
low=mid+1;
}
if(flag==1)
printf("\nData found at location %d",mid+1);
else
printf("\n data not found");
getch();
}



Btt




#include<stdio.h>
#include<stdlib.h>
struct node
{
int value;
struct node *left;
struct node *right;
};
struct node *root;
struct node *insert(struct node *r,int data);
void inorder(struct node *r);
void preorder(struct node *r);
void postorder(struct node *r);
int main()
{
int n,v,i;
root=NULL;
clrscr();
printf("\n  how many data to be inserted?\n");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("data %d:",i+1);
scanf("%d",&v);
root=insert(root,v);
}
printf("inorder traversal:");
inorder(root);
printf("\n");
printf("preorder traversal:");
preorder(root);
printf("\n");
printf("post order traversal:");
postorder(root);
printf("\n");
getch();
return 0;
}
struct node *insert(struct node *r,int data)
{
if(r==NULL)
{
r=(struct node*)malloc(sizeof(struct node));
r->value=data;
r->left=NULL;
r->right=NULL;
}
else if(data<r->value)
{
r->left=insert(r->left,data);
}
else
{
r->right=insert(r->right,data);
}
return r;
}
void inorder(struct node *r)
{
if(r!=NULL)
{
inorder(r->left);
printf("%d",r->value);
inorder(r->right);
}
}
void preorder(struct node *r)
{
if(r!=NULL)
{
printf("%d",r->value);
preorder(r->left);
preorder(r->right);
}
}
void postorder(struct node *r)
{
if(r!=NULL)
{
postorder(r->left);
postorder(r->right);
printf("%d",r->value);
}
}

Comments