NAME :- ABHIRAM,
REG. NO :- 23BCE7199
[Link] a program to implement the quicksort.
import [Link].*;
public class QuickSort{
int arr[];
public void swap(int arr[],int low,int high){
int temp=arr[low];
arr[low]=arr[high];
arr[high]=temp;
public int divide(int arr[],int low,int high){
int pivot=arr[low];
int i=low;
int j=high;
while(i<j){
while(i<high && arr[i]<=pivot){
i++;
while(arr[j]>pivot){
j--;
if(i<j){
swap(arr,i,j);
swap(arr,low,j);
return j;
public void quickSort(int arr[],int low,int high){
if(low<high){
int pivotIndex=divide(arr,low,high);
quickSort(arr,low,pivotIndex-1);
quickSort(arr,pivotIndex+1,high);
public void sort(){
Scanner sc=new Scanner([Link]);
[Link]("Enter the size of the array");
int n=[Link]();
arr=new int[n];
[Link]("Enter the "+" "+n+" "+"elments :");
for(int i=0;i<n;i++){
arr[i]=[Link]();
quickSort(arr,0,[Link]-1);
public static void main(String args[]){
QuickSort q=new QuickSort();
[Link]("Array before sorting is:");
[Link]([Link]([Link]));
[Link]();
[Link]("The sorted array is :");
[Link]([Link]([Link]));
}}
Q2. Write a program that takes the details of Students (name, roll number, address, CGPA) and sort it
in a non-decreasing order using Selection sort based on CGPA.
import [Link];
class Student {
String name;
String rollNumber;
String address;
double cgpa;
// Constructor to initialize a Student object
public Student(String name, String rollNumber, String address, double cgpa) {
[Link] = name;
[Link] = rollNumber;
[Link] = address;
[Link] = cgpa;
}
// Method to display student details
public void display() {
[Link]("Name: " + name + ", Roll Number: " + rollNumber + ", Address: " + address + ",
CGPA: " + cgpa);
public class StudentSort {
// Method for selection sort based on CGPA
public static void selectionSort(Student[] students) {
int n = [Link];
for (int i = 0; i < n - 1; i++) {
int minIndex = i;
for (int j = i + 1; j < n; j++) {
if (students[j].cgpa < students[minIndex].cgpa) {
minIndex = j;
// Swap the found minimum element with the first element
Student temp = students[minIndex];
students[minIndex] = students[i];
students[i] = temp;
public static void main(String[] args) {
Scanner scanner = new Scanner([Link]);
// Taking the number of students
[Link]("Enter the number of students: ");
int n = [Link]();
[Link](); // Consume the newline
Student[] students = new Student[n];
// Input student details
for (int i = 0; i < n; i++) {
[Link]("Enter details for student " + (i + 1) + ":");
[Link]("Name: ");
String name = [Link]();
[Link]("Roll Number: ");
String rollNumber = [Link]();
[Link]("Address: ");
String address = [Link]();
[Link]("CGPA: ");
double cgpa = [Link]();
[Link](); // Consume the newline
students[i] = new Student(name, rollNumber, address, cgpa);
// Sort students by CGPA using selection sort
selectionSort(students);
// Display sorted students
[Link]("\nStudents sorted by CGPA in non-decreasing order:");
for (Student student : students) {
[Link]();
[Link]();