bubble sort in java
public class DemoBubbleSort
{
void bubbleSort(int[] arrNum)
{
int num = arrNum.length;
for(int a = 0; a < num - 1; a++)
{
for(int b = 0; b < num - a - 1; b++)
{
if(arrNum[b] > arrNum[b + 1])
{
int temp = arrNum[b];
arrNum[b] = arrNum[b + 1];
arrNum[b + 1] = temp;
}
}
}
}
void printingArray(int[] arrNum)
{
int number = arrNum.length;
for(int a = 0; a < number; ++a)
{
System.out.print(arrNum[a] + " ");
System.out.println();
}
}
public static void main(String[] args)
{
DemoBubbleSort bs = new DemoBubbleSort();
int[] arrSort = {65, 35, 25, 15, 23, 14, 95};
bs.bubbleSort(arrSort);
System.out.println("After sorting array: ");
bs.printingArray(arrSort);
}
}
public static void bubbleSort(int arr[])
{
for (int i = 0; i < arr.length; i++) //number of passes
{
//keeps track of positions per pass
for (int j = 0; j < (arr.length - 1 - i); j++) //Think you can add a -i to remove uneeded comparisons
{
//if left value is great than right value
if (arr[j] > arr[j + 1])
{
//swap values
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
// bubble sort in java descending order
import java.util.Scanner;
public class BubbleSortDescending
{
public static void main(String[] args)
{
int number, a, b, temp;
Scanner sc = new Scanner(System.in);
System.out.println("Please enter number of integers: ");
number = sc.nextInt();
int[] arrInput = new int[number];
System.out.println("Enter " + number + " integers: ");
for(a = 0; a < number; a++)
arrInput[a] = sc.nextInt();
for(a = 0; a < (number - 1); a++)
{
for(b = 0; b < number - a - 1; b++)
{
// logic to sort in descending order
if(arrInput[b] < arrInput[b + 1])
{
temp = arrInput[b];
arrInput[b] = arrInput[b + 1];
arrInput[b + 1] = temp;
}
}
}
sc.close();
System.out.println("Sorted integers: ");
for(a = 0; a < number; a++)
System.out.println(arrInput[a]);
}
}
// bubble sort in java using scanner
import java.util.Scanner;
public class BubbleSortAscending
{
public static void main(String[] args)
{
int number, a, b, temp;
Scanner sc = new Scanner(System.in);
System.out.println("Please enter number of integers: ");
number = sc.nextInt();
int[] arrInput = new int[number];
System.out.println("Enter " + number + " integers: ");
for(a = 0; a < number; a++)
arrInput[a] = sc.nextInt();
for(a = 0; a < (number - 1); a++)
{
for(b = 0; b < number - a - 1; b++)
{
// logic to sort in ascending order
if(arrInput[b] > arrInput[b + 1])
{
temp = arrInput[b];
arrInput[b] = arrInput[b + 1];
arrInput[b + 1] = temp;
}
}
}
sc.close();
System.out.println("Sorted integers: ");
for(a = 0; a < number; a++)
System.out.println(arrInput[a]);
}
}
// Optimized java implementation
// of Bubble sort
import java.io.*;
class GFG
{
// An optimized version of Bubble Sort
static void bubbleSort(int arr[], int n)
{
int i, j, temp;
boolean swapped;
for (i = 0; i < n - 1; i++)
{
swapped = false;
for (j = 0; j < n - i - 1; j++)
{
if (arr[j] > arr[j + 1])
{
// swap arr[j] and arr[j+1]
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
swapped = true;
}
}
// IF no two elements were
// swapped by inner loop, then break
if (swapped == false)
break;
}
}
// Function to print an array
static void printArray(int arr[], int size)
{
int i;
for (i = 0; i < size; i++)
System.out.print(arr[i] + " ");
System.out.println();
}
// Driver program
public static void main(String args[])
{
int arr[] = { 64, 34, 25, 12, 22, 11, 90 };
int n = arr.length;
bubbleSort(arr, n);
System.out.println("Sorted array: ");
printArray(arr, n);
}
}
// This code is contributed
// by Nikita Tiwari.