// Static Implementation of Stack
#include<stdio.h>
#include<conio.h>
#define N 5
int stack[5];
int top = -1;
void push(){
int x;
printf("Enter data: ");
scanf("%d",&x);
if(top==N-1)
printf("Overflow\n");
else{
top++;
stack[top]=x;
}
}
// Static Implementation of Stack
#include<stdio.h>
#include<conio.h>
#define N 5
int stack[5];
int top = -1;
void push(){
int x;
printf("Enter data: ");
scanf("%d",&x);
if(top==N-1)
printf("Overflow\n");
else{
top++;
stack[top]=x;
}
}
#include<stdio.h>
#include<conio.h>
int BinarySearch(int [],int,int,int);
int a[100],i,n,key,flag,l,r,m;
void main(){
printf("Enter array size: ");
scanf("%d",&n);
printf("Enter array elements (in ascending order): ");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
printf("Enter value to be searched: ");
scanf("%d",&key);
flag=BinarySearch(a,0,n-1,key);
if(flag==0)
printf("%d is not found.",key);
else
printf("%d is found at %d position",key,flag+1);
getch();
}
#include<stdio.h>
#include<conio.h>
void counting_sort(int [],int,int);
int a[100],count[100],b[100],i,k,n;
void main(){
// int a[100],i,n;
printf("Enter array size: ");
scanf("%d",&n);
printf("Enter array elements: ");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
k=a[0];
for(i=1;i<n;i++){
if(k<a[i])
k=a[i];
}
counting_sort(a,n,k);
printf("After Sorting: ");
for(i=0;i<n;i++)
printf("%d ",a[i]);
getch();
}
#include<stdio.h>
#include<conio.h>
void quick_sort(int [],int,int);
int partition(int [],int,int);
int a[100],i,j,n,temp,lb,ub,start,end,pivot,loc;
void main(){
// int a[100],i,n;
printf("Enter array size: ");
scanf("%d",&n);
printf("Enter array elements: ");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
quick_sort(a,0,n-1);
printf("After Sorting: ");
for(i=0;i<n;i++)
printf("%d ",a[i]);
getch();
}
#include<stdio.h>
#include<conio.h>
void selection_sort(int [],int);
int a[100],i,j,n,temp,min;
void main(){
// int a[100],i,n;
printf("Enter array size: ");
scanf("%d",&n);
printf("Enter array elements: ");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
selection_sort(a,n);
printf("After Sorting: ");
for(i=0;i<n;i++)
printf("%d ",a[i]);
getch();
}
void selection_sort(int a[],int n){
for(i=0;i<n-1;i++){
min=i;
for(j=i+1;j<n;j++){
if(a[j]<a[min])
min=j;
}
// swap(a[i],a[min])
if(min!=i){
temp=a[i];
a[i]=a[min];
a[min]=temp;
}
}
}
#include<stdio.h>
#include<conio.h>
void insertion_sort(int [],int);
int a[100],i,j,n,temp;
void main(){
// int a[100],i,n;
printf("Enter array size: ");
scanf("%d",&n);
printf("Enter array elements: ");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
insertion_sort(a,n);
printf("After Sorting: ");
for(i=0;i<n;i++)
printf("%d ",a[i]);
getch();
}
void insertion_sort(int a[],int n){
for(i=1;i<n;i++){
temp=a[i];
j=i-1;
while(j>=0 && a[j]>temp){
a[j+1]=a[j];
j--;
}
a[j+1]=temp;
}
}
#include<stdio.h>
#include<conio.h>
void bubble_sort(int [],int);
int a[100],i,j,n,temp;
void main(){
// int a[100],i,n;
printf("Enter array size: ");
scanf("%d",&n);
printf("Enter array elements: ");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
bubble_sort(a,n);
printf("After Sorting: ");
for(i=0;i<n;i++)
printf("%d ",a[i]);
getch();
}
void bubble_sort(int a[],int n){
for(i=0;i<n-1;i++){
for(j=0;j<n-1;j++){
if(a[j]>a[j+1]){
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
}
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
struct node{
int data;
struct node *left,*right;
};
struct node* create(){
int x;
struct node *newnode;
newnode=(struct node*)malloc(sizeof(struct node));
printf("Enter data (-1 for no node): ");
scanf("%d",&x);
if(x==-1)
return 0;
newnode->data=x;
printf("Enter left child of %d: ",x);
newnode->left=create();
printf("Enter right child of %d: ",x);
newnode->right=create();
return newnode;
}
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
void enqueue(int);
void dequeue();
void display();
void peek();
struct node{
int data;
struct node *next;
};
struct node *newnode, *front=0,*rear=0, *temp;
void main(){
enqueue(3);
enqueue(5);
enqueue(7);
enqueue(9);
display();
peek();
dequeue();
display();
peek();
getch();
}
// Dynamic Implementation of Stack
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
void push(int);
void pop();
void display();
void peek();
struct node{
int data;
struct node *next;
};
struct node *newnode, *top=0,*temp;
void main(){
push(3);
push(5);
push(7);
push(9);
display();
peek();
pop();
display();
peek();
getch();
}
#include<stdio.h>
#include<conio.h>
#define N 5
void display();
int queue[N],front=-1,rear=-1,i;
void enqueue(int x){
if(rear==N-1)
printf("Queue is full.");
else if(front==-1 && rear==-1){
front=rear=0;
queue[rear]=x;
}
else{
rear++;
queue[rear]=x;
}
}
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
void create();
void display();
void insert_atfirst();
void insert_atend();
void getlength();
void insert();
void delete_fromfirst();
void delete_fromend();
void delete_frompos();
void reverse();
struct node{
int data;
struct node *next;
};
struct node *head, *newnode, *temp, *prevnode, *nextnode, *currentnode;
int count;
void main(){
create();
display();
insert_atfirst();
display();
insert_atend();
display();
getlength();
insert();
display();
delete_fromfirst();
display();
delete_fromend();
display();
delete_frompos();
display();
reverse();
display();
getch();
}
#include<stdio.h>
#include<conio.h>
int create();
int display(int [],int);
int insert(int [],int);
int delete_fromlist(int [],int);
int update(int [],int);
int a[100],n,i;
void main(){
create();
display(a,n);
insert(a,n);
delete_fromlist(a,n);
update(a,n);
getch();
}
int create(){
printf("Enter n: ");
scanf("%d",&n);
printf("Enter %d elements:\n",n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
}
int display(int a[],int n){
printf("Current array elements: ");
for(i=0;i<n;i++)
printf("%d\t",a[i]);
}