Write A Program To Implement Sequential Search.: Unit 2 Searching
Write A Program To Implement Sequential Search.: Unit 2 Searching
Searching
1. Write a program to implement sequential search.
#include<stdio.h>
#include<conio.h>
void main()
{
int a[20],n,x,i,flag=0;
clrscr();
printf("\nEnter element: ");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("\nEnter %d elemtnet :",i+1);
scanf("%d",&a[i]);
}
for(i=0;i<n;i++)
{
if(a[i]==x)
{
flag=1;
printf("\nfound %d postion:",i+1);
}
}
if(flag==0)
{
printf("Element not found");
}
getch();
}
for(i=0;i<n;i++)
{
printf("\nEnter %d element:",i+1);
scanf("%d",&a[i]);
}
binary_search(a,n,x);
getch();
}
void binary_search(int a[],int n,int x)
{
int low,mid,high;
low=1;
high=n-1;
mid=(low+high)/2;
while(low<=high && x!=a[mid])
{
if(x<a[mid])
high=mid-1;
else if(x>a[mid])
low=mid+1;
mid=(low+high)/2;
}
if(x==a[mid])
printf("\nElement %d fond at potion %d",x,mid+1);
if(low>high)
{
printf("\nElement not fond");
}
}
for(i=1;i<=n;i++)
{
printf("Enter %d element : ",i);
scanf("%d",&a[i]);
}
for(i=1;i<=n;i++)
{
for(j=1;j<=n-1;j++)
{
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
printf("Sorted array is...");
for(i=1;i<=n;i++)
{
printf("\n %d \n",a[i]);
}
getch();
//Initialize array
for(i=1;i<=n;i++)
{
printf("Enter %d element :",i);
scanf("%d",&a[i]);
}
selection_sort(a,n);
getch();
}
void selection_sort(int a[],int n)
{
int i,j,min,temp;
for(i=1;i<n-1;i++)
{
min=i;
for(j=i+1;j<=n;j++)
{
if(a[j]<a[min])
{
min=j;
}
}
if(min!=i)
{
for(i=0;i<n;i++)
{
printf("Enter %d element:",i+1);
scanf("%d",&a[i]);
}
merge_sort(a,0,n-1);
printf("sorted array...");
for(i=0;i<n;i++)
{
printf("%d\t",a[i]);
}
getch();
}
void merge(int a[],int beg,int mid,int end)
{
int i=beg,j=mid+1,index=beg,k,temp[10];
while((i<=mid)&&(j<=end))
{
if(a[i]<a[j])
{
temp[index]=a[i];
i++;
}
else
{
temp[index]=a[j];
j++;
}
index++;
}
if(i>mid)
{
while(j<=end)
{
temp[index]=a[j];
index++;
}
switch(ch)
{
case 1:push();
break;
case 2:pop();
break;
case 3:peep();
break;
case 4:display();
break;
case 5:
break;
}
getch();
void display()
{
int i;
for(i=1;i<=top;i++)
{
printf("\n%d",s[i]);
}
}
switch(ch)
{
case 1:
printf("\nEtner the number to push...");
scanf("%d",&x);
top=push(top,x);
break;
case 2:
top=pop(top);
break;
case 3:
top=display(top);
break;
}
}while(ch!=4);
getch();
int s[MAX];
int top = -1; // Initialize top to -1
void main()
{
int x;
char exp[100];
clrscr();
printf("\nEnter postfix expression: ");
gets(exp);
x = evaluatePostfix(exp); // Correct the function call
printf("\nEvaluation is %d", x);
getch();
}
char stack[100];
int top=-1;
void push(char x)
{
stack[++top]=x;
}
char pop()
{
if(top==-1)
return -1;
else
return stack[top--];
}
int priority(char x)
{
if(x=='(')
return 0;
else if(x=='+' || x=='-')
return 1;
else if(x=='*' || x=='/')
return 2;
}
int main()
{
char exp[100];
char *e,x;
clrscr();
printf("Enter the expression:");
scanf("%s",exp);
printf("\n");
e=exp;
while(*e!='\0')
{
if(isalnum(*e))
printf("%c",*e);
else if(*e=='(')
push(*e);
else if(*e==')')
{
while((x=pop())!='(')
printf("%c",x);
}
else
int main()
{
int i;
long fact=1;
int n;
clrscr();
printf("\nEnter N= ");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
push(i);
}
for(i=1;i<=n;i++)
{
fact=(long)fact*pop();
}
printf("\nFactorial of %d = %d",n,fact);
getch();
return 0;
}
void push(int x)
{
top++;
s[top]=x;
}
int pop()
{
int x;
x=s[top];
top=top-1;
return (x);
}
void main()
{
char str[MAX];
int i;
clrscr();
printf("Input a string:");
scanf("%[^\n]s",str);
for(i=0;i<strlen(str);i++)
push_char(str[i]);
for(i=0;i<strlen(str);i++)
str[i]=popchar();
char popchar()
{
if(top==-1)
{
printf("\nStack is Empty!!!\n");
}
else{
item=s[top];
top=top-1;
return item;
}
clrscr();
printf("\nEnter the size of Queue:");
scanf("%d",&n);
do{
clrscr();
printf("\n1..Insert");
printf("\n2..Delete");
printf("\n3..Dislay");
printf("\n4..Exit");
printf("\nEnter your choice::");
scanf("%d",&ch);
switch(ch)
{
case 1:
insert();
break;
case 2:
delete();
break;
case 3:
display();
break;
case 4:
exit(0);
if(f==r)
f=r=0;
else
f++;
printf("\n%d is deleted",y);
}
}
void display()
{
if(f==0)
{
printf("\n......Underflow..........");
}
else{
int i;
printf("\n");
for(i=f;i<=r;i++)
{
printf("%d\t",q[i]);
}
} }
struct node {
int data;
struct node *next;
};
struct queue {
struct node *f;
struct node *r;
};
if (q->f == NULL) {
q->f = ptr;
q->r = ptr;
q->f->next = q->r->next = NULL;
} else {
q->r->next = ptr;
q->r = ptr;
q->r->next = NULL;
}
return q;
}
if (q->f == NULL) {
printf("Deletion not possible\n");
} else {
q->f = q->f->next;
printf("%d is deleted\n", ptr->data);
free(ptr);
}
return q;
}
if (ptr == NULL) {
printf("Queue is empty\n");
} else {
while (ptr != q->r) {
printf("%d ", ptr->data);
ptr = ptr->next;
}
printf("%d\n", ptr->data);
}
}
void main() {
switch (choice) {
case 1:
printf("Enter the value to insert: ");
scanf("%d", &value);
q = insert(q, value);
break;
case 2:
q = delet(q);
break;
case 3:
display(q);
break;
case 4:
printf("Quitting...\n");
break;
default:
printf("Invalid choice\n");
}
} while (choice != 4);
getch();
}
void enqueue();
void dequeue();
void display();
void main()
{
int op,val;
clrscr();
do
{
printf("\n1:Enqueue");
printf("\n2:Dqueue");
printf("\n3:Display");
printf("\n4:Exit");
switch (op)
{
case 1:
enqueue();
break;
case 2:
dequeue();
break;
case 3:
display();
break;
case 4:
break;
}
} while (op!=4);
getch();
}
void enqueue()
}
void dequeue()
{
int val;
if(front==-1)
{
printf("\n......underflow......");
}
val=q[front];
if(front==rear)
{
front=rear=-1;
}
else{
if(front==max-1)
{
front=0;
}
else
{
front++;
}
}
printf("\nValue is delete:%d",val);
}
void display()
{
int i;
if(front!=-1 && rear!=-1)
}
}
struct tree
{
int info;
struct tree *left;
struct tree *right;
};
int main()
{
struct tree * root;
int ch,val;
root=NULL;
clrscr();
do{
printf("\n1:Insert");
printf("\n2:In-order");
printf("\n3:pre-order");
printf("\n4:post-order");
printf("\nEnter choice: ");
scanf("%d",&ch);
switch (ch)
{
case 1:
printf("\nEnter new element: ");
scanf("%d",&val);
root=insert(root,val);
printf("\n");
inorder(root);
break;
case 2:
printf("\nInorder traversal of tree is..");
if (root->info > x) {
root->left = insert(root->left, x);
}
else
{
if(root->info < x)
root->right = insert(root->right, x);
}
return root;
}