Академический Документы
Профессиональный Документы
Культура Документы
Program no.:-1
#include<stdio.h>
#include<conio.h>
void main()
{
clrscr();
int n, i, arr[50], search, first, last, middle;
printf("Enter total number of elements :");
scanf("%d",&n);
printf("Enter %d number :", n);
for (i=0; i<n; i++)
{
scanf("%d",&arr[i]);
}
printf("Enter a number to find :");
scanf("%d", &search);
first = 0;
last = n-1;
middle = (first+last)/2;
while (first <= last)
{
if(arr[middle] < search)
{
first = middle + 1;
}
else if(arr[middle] == search)
{
printf("%d found at location %d\n"search,
middle+1);
break;
}
else
{
last = middle - 1;
}
middle = (first + last)/2;
}
if(first > last)
{
printf("Not found! %d is not present in the
list.",search);
}
getch(); }
Input/Output
Program no.:-2
#include<stdio.h>
#include<conio.h>
int main()
{
int arr[50], size, i, j, k, element, index;
printf("Enter Array Size: ");
scanf("%d", &size);
printf("Enter %d Array Elements: ", size);
for(i=0; i<size; i++)
scanf("%d", &arr[i]);
for(i=1; i<size; i++)
{
element = arr[i];
if(element<arr[i-1])
{
for(j=0; j<=i; j++)
{
if(element<arr[j])
{
index = j;
for(k=i; k>j; k--)
arr[k] = arr[k-1];
break;
}
}
}
else
continue;
arr[index] = element;
}
printf("\nSorted Array:\n");
for(i=0; i<size; i++)
printf("%d ", arr[i]);
getch();
return 0;
}
Input/Output
program no.:-3
Write a program for Selection Sort
#include<stdio.h>
#include<conio.h>
int main()
{
int size, arr[50], i, j, temp, small, count=0, index;
printf("Enter size for Array: ");
scanf("%d", &size);
printf("Enter %d array elements: ", size);
for(i=0; i<size; i++)
scanf("%d", &arr[i]);
for(i=0; i<(size-1); i++)
{
small = arr[i];
for(j=(i+1); j<size; j++)
{
if(small>arr[j])
{
small = arr[j];
count++;
index = j;
}
}
if(count!=0)
{
temp = arr[i];
arr[i] = small;
arr[index] = temp;
}
count=0;
}
printf("\nNow the Array after sorting is:\n");
for(i=0; i<size; i++)
printf("%d ", arr[i]);
getch();
return 0;
}
Input/Output
Program no.:-4
Write a program for Bubble Sort
#include<stdio.h>
#include<conio.h>
int main()
{
int arr[50], i, j, n, temp;
printf("Enter total number of elements to store: ");
scanf("%d", &n);
printf("Enter %d elements:", n);
for(i=0; i<n; i++)
scanf("%d", &arr[i]);
printf("\nSorting array using bubble sort
technique...\n");
for(i=0; i<(n-1); i++)
{
for(j=0; j<(n-i-1); j++)
{
if(arr[j]>arr[j+1])
{
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
printf("All Array elements sorted successfully!\n");
printf("Array elements in ascending order:\n\n");
for(i=0; i<n; i++)
printf("%d ", arr[i]);
getch();
return 0;
}
STACK ELEMENTS :44->33->22->11->
STACK OPTIONS
0: Exit
1: Add item
2: Remove item
Input/Output
Program no.:-5
Write a program to implement stack and its operation
#include <stdio.h>
#include <stdlib.h>
#define MAX 10
int STACK[MAX],TOP;
void display(int []);
void PUSH(int [],int);
void POP (int []);
void main()
{
int ITEM=0;
int choice=0;
TOP=-1;
while(1)
{
printf("Enter Choice (1: display, 2: insert (PUSH), 3:
remove(POP)), 4:Exit..:");
scanf("%d",&choice);
switch(choice)
{
case 1:
display(STACK);
break;
case 2:
printf("Enter Item to be insert :");
scanf("%d",&ITEM);
PUSH(STACK,ITEM);
break;
case 3:
POP(STACK);
break;
case 4:
exit(0);
default:
printf("\nInvalid choice.");
break;
}
getch();
}
}
void display(int stack[])
{
int i=0;
if(TOP==-1)
{
printf("Stack is Empty .\n");
return;
}
printf("%d <-- TOP ",stack[TOP]);
for(i=TOP-1;i >=0;i--)
{
printf("\n%d",stack[i]);
}
printf("\n\n");
}
void PUSH(int stack[],int item)
{
if(TOP==MAX-1)
{
printf("\nSTACK is FULL CAN't ADD ITEM\n");
return;
}
TOP++;
stack[TOP]=item;
}
void POP(int stack[])
{
int deletedItem;
if(TOP==-1)
{
printf("STACK is EMPTY.\n");
return;
}
deletedItem=stack[TOP];
TOP--;
printf("%d deleted successfully\n",deletedItem);
return;
}
Input/Output
int loc;
if(beg<end)
{
loc = partition(a, beg, end);
quickSort(a, beg, loc-1);
quickSort(a, loc+1, end);
}
}
Program no.:-7
Write a program for merge sort
#include <iostream>
using namespace std;
Deleted Element is 10
Enter the Choice:3
#include<conio.h>
#define n 5
voidmain()
intqueue[n],ch=1,front=0,rear=0,i,j=1,x=n;
while(ch)
scanf("%d",&ch);
switch(ch)
{ case1:
if(rear==x)
else
scanf("%d",&queue[rear++]);
break;
case2:
if(front==rear)
{
printf("\n Queue is empty");
else
x++;}
break;
case3:
if(front==rear)
else
{ printf("%d",queue[i]);
printf("\n"); }
break;
case4:
exit(0);
default:
getch();}
Input/Output
1.Insert
2.Display
3.Delete
Program no.:-9
Write a program to implement circular queue and its
operations
#include<stdio.h>
#include<cstdlib>
#define max 6
int q[10],front=0,rear=-1;
int main()
{
int ch;
void insert();
void delet();
void display();
Data = 5
Data = 6
Data = 7
Program no.:-10
Write a program to implement singly linked list
#include <stdio.h>
#include <stdlib.h>
struct node
{
int num;
struct node *nextptr;
}*stnode;
voidcreateNodeList(int n);
voiddisplayList();
intmxain()
{
int n;
printf("\n\n Linked List : To create and display
Singly Linked List :\n");
printf("--------------------------------------------
-----------------\n");
fnNode->num = num;
fnNode->nextptr=NULL;
tmp->nextptr=fnNode;
tmp=tmp->nextptr;
}
}
}
}
voiddisplayList()
{
struct node *tmp;
if(stnode==NULL)
{
printf(" List is empty.");
}
else
{
tmp=stnode;
while(tmp!=NULL)
{
printf(" Data = %d\n",tmp->num);
tmp=tmp->nextptr;
}
}
}
Enter the element in the list : 1
struct node {
int data;
struct node * next;
}*head;
voidcreateList(int n);
voiddisplayList();
intmain()
{
int n, data, choice=1;
head = NULL;
while(choice != 0)
{
printf("============================================\n");
printf("CIRCULAR LINKED LIST PROGRAM\n");
printf("============================================\n");
printf("1. Create List\n");
printf("2. Display list\n");
printf("0. Exit\n");
printf("--------------------------------------------\n");
printf("Enter your choice : ");
scanf("%d", &choice);
switch(choice)
{
case1:
printf("Enter the total number of nodes in list: ");
scanf("%d", &n);
createList(n);
break;
case 2:
displayList();
break;
case 0:
break;
default:
printf("\n\n\n\n\n");
}
return 0;
}
voidcreateList(int n)
{
int i, data;
struct node *prevNode, *newNode;
if(n >= 1)
{
head->data = data;
head->next = NULL;
prevNode = head;
newNode->data = data;
newNode->next = NULL;
prevNode->next = newNode;
prevNode = newNode;
}
prevNode->next = head;
void displayList()
{
struct node *current;
int n=1;
if(head == NULL)
{
printf("List is empty.\n");
}
else
{
do {
printf("Data %d = %d\n", n, current->data);
current = current->next;
n++;
}while(current != head);
}
}