Sorting Assignment ADS
Sorting Assignment ADS
#include <stdio.h>
#include <string.h>
struct stud {
char name[10];
int roll;
int total_marks;
};
printf("\n");
printf("________________________________________\n");
int i = start - 1;
i++;
a[i] = a[j];
a[j] = temp;
a[i + 1] = a[end];
a[end] = temp;
return (i + 1);
int main() {
int size;
scanf("%d", &size);
printf("Name: ");
scanf("%s", s[i].name);
scanf("%d", &s[i].roll);
scanf("%d", &s[i].total_marks);
printf("\n");
display(s, size);
display(s, size);
return 0;
output
Merge sort
#include <stdio.h>
struct stud
char name[10];
int roll;
int total_marks;
};
printf("\n");
printf("________________________________________\n");
void merge(struct stud a[], int low, int mid, int high)
int i = low;
int j = mid + 1;
int k = 0;
b[k] = a[i];
i++;
k++;
else
b[k] = a[j];
j++;
k++;
b[k] = a[i];
k++;
i++;
b[k] = a[j];
k++;
j++;
a[c] = b[c-low];
int main()
int size;
scanf("%d",&size);
for(int i=0;i<size;i++)
{
scanf("%s",&s[i].name);
scanf("%d",&s[i].roll);
scanf("%d",&s[i].total_marks);
display(s,size);
mergesort(s,0, size-1);
display(s,size);
Output
Insertion sort
#include<stdio.h>
struct stud
char name[10];
int roll;
int total_marks;
};
printf("\n");
printf("________________________________________\n");
for(int j=i+1;j>0;j--)
{
if(s[j].roll<s[j-1].roll)
s[j] = s[j-1];
s[j-1] = swap;
display(s,size);
int main()
int size;
scanf("%d",&size);
for(int i=0;i<size;i++)
scanf("%s",&s[i].name);
scanf("%d",&s[i].roll);
scanf("%d",&s[i].total_marks);
}
display(s,size);
insertion_sort(s,size);
Output
Bubble sort
#include<stdio.h>
#include<stdlib.h>
struct stud
char name[10];
int roll;
int total_marks;
};
printf("\n");
printf("________________________________________\n");
for(int j=0;(j+i+1)<size;j++)
{
if(s[j].roll>s[j+1].roll)
s[j] = s[j+1];
s[j+1] = swap;
display(s,size);
int main()
int size;
scanf("%d",&size);
for(int i=0;i<size;i++)
scanf("%s",&s[i].name);
scanf("%d",&s[i].roll);
scanf("%d",&s[i].total_marks);
}
display(s,size);
bubble_sort(s,size);
return 0;
Output