SlideShare a Scribd company logo
Sort Algorithms
Bubble Sort
Java programming
2018-1
1
Question?
Write a java program to sort an array elements
using bubble sort algorithm?
Input: 18 9 33 4 84 32
Output: 4 9 18 32 33 84
2
Bubble sort algorithm
• array is traversed from first element to last
element.
• current element is compared with the next
element.
• If current element is greater than the next
element, it is swapped.
3
public class BubbleSortExample {
static void bubbleSort(int[] arr) {
int n = arr.length;
int temp = 0;
for(int i=0; i < n; i++){
for(int j=1; j < (n-i); j++){
if(arr[j-1] > arr[j]){
//swap elements
temp = arr[j-1];
arr[j-1] = arr[j];
arr[j] = temp;
}
}
}
}
public static void main(String[] args) {
int arr[] ={3,60,35,2,45,320,5};
System.out.println("Array Before Bubble Sort");
for(int i=0; i < arr.length; i++){
System.out.print(arr[i] + " ");
}
bubbleSort(arr); //sorting array elements
System.out.println("Array After Bubble Sort");
for(int i=0; i < arr.length; i++){
System.out.print(arr[i] + " ");
}
}
}
4
//swap elements
temp = X;
X = Y;
Y = temp;
5
Start
Is A>B ?
for(int K=0; K < n; K++){
for(int i=0; i < (n-K); i++){
j=i+1;
if(arr[i] > arr[j]) swap
}
}
K=0, I=0 , J=1
Is B >C ?
I=1 , J=2
for(int K=0; K < n; K++){
for(int i=0; i < (n-K); i++){
j=i+1;
if(arr[i] > arr[j]) swap
}
}
I=2 , J=3
Is C >D ?
for(int K=0; K < n; K++){
for(int i=0; i < (n-K); i++){
j=i+1;
if(arr[i] > arr[j]) swap
}
}
I=2 , J=3
Swap
for(int K=0; K < n; K++){
for(int i=0; i < (n-K); i++){
j=i+1;
if(arr[i] > arr[j]) swap
}
}
I=3 , J=4
Is C >E ?
for(int K=0; K < n; K++){
for(int i=0; i < (n-K); i++){
j=i+1;
if(arr[i] > arr[j]) swap
}
}
I=4 , J=5
Is E >F ?
for(int K=0; K < n; K++){
for(int i=0; i < (n-K); i++){
j=i+1;
if(arr[i] > arr[j]) swap
}
}
Next round
K=1
for(int K=0; K < n; K++){
for(int i=0; i < (n-K); i++){
j=i+1;
if(arr[i] > arr[j]) swap
}
}
I=0 , J=1
Is A >B ?
for(int K=0; K < n; K++){
for(int i=0; i < (n-K); i++){
j=i+1;
if(arr[i] > arr[j]) swap
}
}
I=1 , J=2
Is B >D ?
for(int K=0; K < n; K++){
for(int i=0; i < (n-K); i++){
j=i+1;
if(arr[i] > arr[j]) swap
}
}
I=1 , J=2
Swap
for(int K=0; K < n; K++){
for(int i=0; i < (n-K); i++){
j=i+1;
if(arr[i] > arr[j]) swap
}
}
I=2 , J=3
for(int K=0; K < n; K++){
for(int i=0; i < (n-K); i++){
j=i+1;
if(arr[i] > arr[j]) swap
}
}
Is B >C ?
I=3 , J=4
for(int K=0; K < n; K++){
for(int i=0; i < (n-K); i++){
j=i+1;
if(arr[i] > arr[j]) swap
}
}
Is C >E ?
K=2
for(int K=0; K < n; K++){
for(int i=0; i < (n-K); i++){
j=i+1;
if(arr[i] > arr[j]) swap
}
}
Next round
K=2
for(int K=0; K < n; K++){
for(int i=0; i < (n-K); i++){
j=i+1;
if(arr[i] > arr[j]) swap
}
}
Next round
I=0 , J=1
for(int K=0; K < n; K++){
for(int i=0; i < (n-K); i++){
j=i+1;
if(arr[i] > arr[j]) swap
}
}
Is A >D ?
I=1 , J=2
for(int K=0; K < n; K++){
for(int i=0; i < (n-K); i++){
j=i+1;
if(arr[i] > arr[j]) swap
}
}
Is A >B ?
I=3 , J=4
for(int K=0; K < n; K++){
for(int i=0; i < (n-K); i++){
j=i+1;
if(arr[i] > arr[j]) swap
}
}
Is B >C ?
K=3
for(int K=0; K < n; K++){
for(int i=0; i < (n-K); i++){
j=i+1;
if(arr[i] > arr[j]) swap
}
}
Next round
I=0 , J=1
for(int K=0; K < n; K++){
for(int i=0; i < (n-K); i++){
j=i+1;
if(arr[i] > arr[j]) swap
}
}
Is D >A ?
I=1 , J=2
for(int K=0; K < n; K++){
for(int i=0; i < (n-K); i++){
j=i+1;
if(arr[i] > arr[j]) swap
}
}
Is A >B ?
K=4
for(int K=0; K < n; K++){
for(int i=0; i < (n-K); i++){
j=i+1;
if(arr[i] > arr[j]) swap
}
}
Next round
Is D > A ?
I=0 , J=1
for(int K=0; K < n; K++){
for(int i=0; i < (n-K); i++){
j=i+1;
if(arr[i] > arr[j]) swap
}
}
end

More Related Content

More from zahraa F.Muhsen

Filter
FilterFilter
Table
TableTable
List
ListList
Computer skills excel2010 5
Computer skills excel2010 5Computer skills excel2010 5
Computer skills excel2010 5
zahraa F.Muhsen
 
Computer skills excel2010 data
Computer skills excel2010 dataComputer skills excel2010 data
Computer skills excel2010 data
zahraa F.Muhsen
 
Computer skills excel2010 2
Computer skills excel2010 2Computer skills excel2010 2
Computer skills excel2010 2
zahraa F.Muhsen
 
Computer skills excel2010
Computer skills excel2010Computer skills excel2010
Computer skills excel2010
zahraa F.Muhsen
 
Computer skills excel2010 3
Computer skills excel2010 3Computer skills excel2010 3
Computer skills excel2010 3
zahraa F.Muhsen
 
Computer skills excel2010-4
Computer skills excel2010-4Computer skills excel2010-4
Computer skills excel2010-4
zahraa F.Muhsen
 
Computer skills excel2010
Computer skills excel2010Computer skills excel2010
Computer skills excel2010
zahraa F.Muhsen
 
Genetic algorithms
Genetic algorithmsGenetic algorithms
Genetic algorithms
zahraa F.Muhsen
 
Internet search techniques
Internet search techniquesInternet search techniques
Internet search techniques
zahraa F.Muhsen
 
Nearest neighbor search
Nearest neighbor searchNearest neighbor search
Nearest neighbor search
zahraa F.Muhsen
 
Search methods
Search methodsSearch methods
Search methods
zahraa F.Muhsen
 
Hash function
Hash functionHash function
Hash function
zahraa F.Muhsen
 
Pigeonhole sort
Pigeonhole sortPigeonhole sort
Pigeonhole sort
zahraa F.Muhsen
 
Gnome sort
Gnome sortGnome sort
Gnome sort
zahraa F.Muhsen
 
Puzzle (1000 coins and 10 bags)
Puzzle (1000 coins and 10 bags)Puzzle (1000 coins and 10 bags)
Puzzle (1000 coins and 10 bags)
zahraa F.Muhsen
 
Php1
Php1Php1
Binary tree
Binary treeBinary tree
Binary tree
zahraa F.Muhsen
 

More from zahraa F.Muhsen (20)

Filter
FilterFilter
Filter
 
Table
TableTable
Table
 
List
ListList
List
 
Computer skills excel2010 5
Computer skills excel2010 5Computer skills excel2010 5
Computer skills excel2010 5
 
Computer skills excel2010 data
Computer skills excel2010 dataComputer skills excel2010 data
Computer skills excel2010 data
 
Computer skills excel2010 2
Computer skills excel2010 2Computer skills excel2010 2
Computer skills excel2010 2
 
Computer skills excel2010
Computer skills excel2010Computer skills excel2010
Computer skills excel2010
 
Computer skills excel2010 3
Computer skills excel2010 3Computer skills excel2010 3
Computer skills excel2010 3
 
Computer skills excel2010-4
Computer skills excel2010-4Computer skills excel2010-4
Computer skills excel2010-4
 
Computer skills excel2010
Computer skills excel2010Computer skills excel2010
Computer skills excel2010
 
Genetic algorithms
Genetic algorithmsGenetic algorithms
Genetic algorithms
 
Internet search techniques
Internet search techniquesInternet search techniques
Internet search techniques
 
Nearest neighbor search
Nearest neighbor searchNearest neighbor search
Nearest neighbor search
 
Search methods
Search methodsSearch methods
Search methods
 
Hash function
Hash functionHash function
Hash function
 
Pigeonhole sort
Pigeonhole sortPigeonhole sort
Pigeonhole sort
 
Gnome sort
Gnome sortGnome sort
Gnome sort
 
Puzzle (1000 coins and 10 bags)
Puzzle (1000 coins and 10 bags)Puzzle (1000 coins and 10 bags)
Puzzle (1000 coins and 10 bags)
 
Php1
Php1Php1
Php1
 
Binary tree
Binary treeBinary tree
Binary tree
 

Sort algorithms bubble sort

  • 1. Sort Algorithms Bubble Sort Java programming 2018-1 1
  • 2. Question? Write a java program to sort an array elements using bubble sort algorithm? Input: 18 9 33 4 84 32 Output: 4 9 18 32 33 84 2
  • 3. Bubble sort algorithm • array is traversed from first element to last element. • current element is compared with the next element. • If current element is greater than the next element, it is swapped. 3
  • 4. public class BubbleSortExample { static void bubbleSort(int[] arr) { int n = arr.length; int temp = 0; for(int i=0; i < n; i++){ for(int j=1; j < (n-i); j++){ if(arr[j-1] > arr[j]){ //swap elements temp = arr[j-1]; arr[j-1] = arr[j]; arr[j] = temp; } } } } public static void main(String[] args) { int arr[] ={3,60,35,2,45,320,5}; System.out.println("Array Before Bubble Sort"); for(int i=0; i < arr.length; i++){ System.out.print(arr[i] + " "); } bubbleSort(arr); //sorting array elements System.out.println("Array After Bubble Sort"); for(int i=0; i < arr.length; i++){ System.out.print(arr[i] + " "); } } } 4
  • 5. //swap elements temp = X; X = Y; Y = temp; 5
  • 7. Is A>B ? for(int K=0; K < n; K++){ for(int i=0; i < (n-K); i++){ j=i+1; if(arr[i] > arr[j]) swap } } K=0, I=0 , J=1
  • 8. Is B >C ? I=1 , J=2 for(int K=0; K < n; K++){ for(int i=0; i < (n-K); i++){ j=i+1; if(arr[i] > arr[j]) swap } }
  • 9. I=2 , J=3 Is C >D ? for(int K=0; K < n; K++){ for(int i=0; i < (n-K); i++){ j=i+1; if(arr[i] > arr[j]) swap } }
  • 10. I=2 , J=3 Swap for(int K=0; K < n; K++){ for(int i=0; i < (n-K); i++){ j=i+1; if(arr[i] > arr[j]) swap } }
  • 11. I=3 , J=4 Is C >E ? for(int K=0; K < n; K++){ for(int i=0; i < (n-K); i++){ j=i+1; if(arr[i] > arr[j]) swap } }
  • 12. I=4 , J=5 Is E >F ? for(int K=0; K < n; K++){ for(int i=0; i < (n-K); i++){ j=i+1; if(arr[i] > arr[j]) swap } }
  • 13. Next round K=1 for(int K=0; K < n; K++){ for(int i=0; i < (n-K); i++){ j=i+1; if(arr[i] > arr[j]) swap } }
  • 14. I=0 , J=1 Is A >B ? for(int K=0; K < n; K++){ for(int i=0; i < (n-K); i++){ j=i+1; if(arr[i] > arr[j]) swap } }
  • 15. I=1 , J=2 Is B >D ? for(int K=0; K < n; K++){ for(int i=0; i < (n-K); i++){ j=i+1; if(arr[i] > arr[j]) swap } }
  • 16. I=1 , J=2 Swap for(int K=0; K < n; K++){ for(int i=0; i < (n-K); i++){ j=i+1; if(arr[i] > arr[j]) swap } }
  • 17. I=2 , J=3 for(int K=0; K < n; K++){ for(int i=0; i < (n-K); i++){ j=i+1; if(arr[i] > arr[j]) swap } } Is B >C ?
  • 18. I=3 , J=4 for(int K=0; K < n; K++){ for(int i=0; i < (n-K); i++){ j=i+1; if(arr[i] > arr[j]) swap } } Is C >E ?
  • 19. K=2 for(int K=0; K < n; K++){ for(int i=0; i < (n-K); i++){ j=i+1; if(arr[i] > arr[j]) swap } } Next round
  • 20. K=2 for(int K=0; K < n; K++){ for(int i=0; i < (n-K); i++){ j=i+1; if(arr[i] > arr[j]) swap } } Next round
  • 21. I=0 , J=1 for(int K=0; K < n; K++){ for(int i=0; i < (n-K); i++){ j=i+1; if(arr[i] > arr[j]) swap } } Is A >D ?
  • 22. I=1 , J=2 for(int K=0; K < n; K++){ for(int i=0; i < (n-K); i++){ j=i+1; if(arr[i] > arr[j]) swap } } Is A >B ?
  • 23. I=3 , J=4 for(int K=0; K < n; K++){ for(int i=0; i < (n-K); i++){ j=i+1; if(arr[i] > arr[j]) swap } } Is B >C ?
  • 24. K=3 for(int K=0; K < n; K++){ for(int i=0; i < (n-K); i++){ j=i+1; if(arr[i] > arr[j]) swap } } Next round
  • 25. I=0 , J=1 for(int K=0; K < n; K++){ for(int i=0; i < (n-K); i++){ j=i+1; if(arr[i] > arr[j]) swap } } Is D >A ?
  • 26. I=1 , J=2 for(int K=0; K < n; K++){ for(int i=0; i < (n-K); i++){ j=i+1; if(arr[i] > arr[j]) swap } } Is A >B ?
  • 27. K=4 for(int K=0; K < n; K++){ for(int i=0; i < (n-K); i++){ j=i+1; if(arr[i] > arr[j]) swap } } Next round
  • 28. Is D > A ? I=0 , J=1 for(int K=0; K < n; K++){ for(int i=0; i < (n-K); i++){ j=i+1; if(arr[i] > arr[j]) swap } }
  • 29. end