You are on page 1of 18

session – 2019-22

BRANCH- CS&IT
SEMESTER- III
SUBJECT – DATA STRUCTURE

NAME – AMIT KUMAR VERMA


ROLL NO. – R19CA1CA0004
COURSE CODE – 3IBCA 301

SUBMITTED TO - MISS JYOTASANA BHARTI

SUBMISSION DATE- 25-02-2021 T.SIGNATURE-

INDEX
S.NO PROGRAMS
01
Program for Bubble Sort

02
program for selection short

03 Program for insertion sort ascending order

04 Program for merge sort ascending order

05 Program to Perform Quick Sort on a set of Entries from a File


using Recursion

06 Program for linear search

07 Program for Binary search

(01)/* C Program for Bubble Sort */

#include <stdio.h>

int main()
{

int a[100], number, i, j, temp;

printf("\n Enter the total Number of Elements : ");

scanf("%d", &number);

printf("\n Enter the Array Elements : ");

for(i = 0; i < number; i++)

scanf("%d", &a[i]);

for(i = 0; i < number - 1; i++)

for(j = 0; j < number - i - 1; j++)

if(a[j] > a[j + 1])

temp = a[j];

a[j] = a[j + 1];

a[j + 1] = temp;

printf("\n List Sorted in Ascending Order : ");

for(i = 0; i < number; i++)

printf(" %d \t", a[i]);

printf("\n");

return 0;
}

(02)/* C program for selection short : */

#include <stdio.h>

int main()

{
int arr[10]={6,12,0,18,11,99,55,45,34,2};

int n=10;

int i, j, position, swap;

for (i = 0; i < (n - 1); i++)

position = i;

for (j = i + 1; j < n; j++)

if (arr[position] > arr[j])

position = j;

if (position != i)

swap = arr[i];

arr[i] = arr[position];

arr[position] = swap;

for (i = 0; i < n; i++)

printf("%d\t", arr[i]);

return 0;

}
(03)/* Insertion sort ascending order */

#include <stdio.h>

int main()

int n, array[1000], c, d, t, flag = 0;

printf("Enter number of elements\n");

scanf("%d", &n);

printf("Enter %d integers\n", n);

for (c = 0; c < n; c++)

scanf("%d", &array[c]);

for (c = 1 ; c <= n - 1; c++)

t = array[c];

for (d = c - 1 ; d >= 0; d--)

if (array[d] > t)

array[d+1] = array[d];

flag = 1;

else

break;

}
if (flag)

array[d+1] = t;

printf("Sorted list in ascending order:\n");

for (c = 0; c <= n - 1; c++) {

printf("%d\n", array[c]);

return 0;

}
(04) /* Merge short :*/

#include<stdio.h>

void mergeSort(int[],int,int);

void merge(int[],int,int,int);

void main ()

int a[10]= {10, 9, 7, 101, 23, 44, 12, 78, 34, 23};

int i;

mergeSort(a,0,9);

printf("sorted elements are :");

for(i=0;i<10;i++)

printf("\n%d\n",a[i]);

void mergeSort(int a[], int beg, int end)

int mid;

if(beg<end)

mid = (beg+end)/2;

mergeSort(a,beg,mid);

mergeSort(a,mid+1,end);

merge(a,beg,mid,end);

void merge(int a[], int beg, int mid, int end)


{

int i=beg,j=mid+1,k,index = beg;

int temp[10];

while(i<=mid && j<=end)

if(a[i]<a[j])

temp[index] = a[i];

i = i+1;

else

temp[index] = a[j];

j = j+1;

index++;

if(i>mid)

while(j<=end)

temp[index] = a[j];

index++;

j++;

else

while(i<=mid)
{

temp[index] = a[i];

index++;

i++;

k = beg;

while(k<index)

a[k]=temp[k];

k++;

}
(05)/*
* C Program to Perform Quick Sort on a set of Entries from a File
* using Recursion
*/
#include <stdio.h>

void quicksort (int [], int, int);

int main()

int list[50];

int size, i;

printf("Enter the number of elements: ");

scanf("%d", &size);

printf("Enter the elements to be sorted:\n");

for (i = 0; i < size; i++)

scanf("%d", &list[i]);

quicksort(list, 0, size - 1);

printf("After applying quick sort\n");

for (i = 0; i < size; i++)

printf("%d ", list[i]);

printf("\n");
return 0;

void quicksort(int list[], int low, int high)

int pivot, i, j, temp;

if (low < high)

pivot = low;

i = low;

j = high;

while (i < j)

while (list[i] <= list[pivot] && i <= high)

i++;

while (list[j] > list[pivot] && j >= low)

j--;

if (i < j)

temp = list[i];

list[i] = list[j];

list[j] = temp;

temp = list[j];

list[j] = list[pivot];
list[pivot] = temp;

quicksort(list, low, j - 1);

quicksort(list, j + 1, high);

}
(06) /*Linear Search :*/

#include <stdio.h>

int main()

int array[100], search, c, n;

printf("Enter number of elements in array\n");

scanf("%d", &n);

printf("Enter %d integer(s)\n", n);

for (c = 0; c < n; c++)

scanf("%d", &array[c]);

printf("Enter a number to search\n");

scanf("%d", &search);

for (c = 0; c < n; c++)

if (array[c] == search) /* If required element is found */

printf("%d is present at location %d.\n", search, c+1);

break;

if (c == n)

printf("%d isn't present in the array.\n", search);


return 0;

}
(07) /*Binary Search*/

#include<stdio.h>

int main()

int c, first, last, middle, n, search, array[100];

printf("Enter number of elements:\n");

scanf("%d",&n);

printf("Enter %d integers:\n", n);

for (c = 0; c < n; c++)

scanf("%d",&array[c]);

printf("Enter the value to find:\n");

scanf("%d", &search);

first = 0;

last = n - 1;

middle = (first+last)/2;

while (first <= last)

if (array[middle] < search)

first = middle + 1;

else if (array[middle] == search)

printf("%d is present at index %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.\n", search);

return 0;

You might also like