SlideShare une entreprise Scribd logo
1  sur  6
BUBBLE SORT ALGORITHM 
LOGAN HARCH
BUBBLE SORT 
• WHAT IS IT? 
• WHAT DOES THE CODE LOOK LIKE? JAVA/PSEUDO 
• WHEN WOULD I NEED IT? 
• PRESENTATION OF WORKING CODE
WHAT IS IT? 
• IN THE BUBBLE SORT, AS ELEMENTS ARE SORTED THEY GRADUALLY "BUBBLE" (OR RISE) TO 
THEIR PROPER LOCATION IN THE ARRAY, LIKE BUBBLES RISING IN A GLASS OF SODA. THE 
BUBBLE SORT REPEATEDLY COMPARES ADJACENT ELEMENTS OF AN ARRAY. THE FIRST AND 
SECOND ELEMENTS ARE COMPARED AND SWAPPED IF OUT OF ORDER. THEN THE SECOND AND 
THIRD ELEMENTS ARE COMPARED AND SWAPPED IF OUT OF ORDER. THIS SORTING PROCESS 
CONTINUES UNTIL THE LAST TWO ELEMENTS OF THE ARRAY ARE COMPARED AND SWAPPED IF 
OUT OF ORDER. 
• WHEN THIS FIRST PASS THROUGH THE ARRAY IS COMPLETE, THE BUBBLE SORT RETURNS TO 
ELEMENTS ONE AND TWO AND STARTS THE PROCESS ALL OVER AGAIN. SO, WHEN DOES IT 
STOP? THE BUBBLE SORT KNOWS THAT IT IS FINISHED WHEN IT EXAMINES THE ENTIRE ARRAY 
AND NO "SWAPS" ARE NEEDED (THUS THE LIST IS IN PROPER ORDER). THE BUBBLE SORT KEEPS 
TRACK OF THE OCCURRING SWAPS BY THE USE OF A FLAG.
WHAT DOES THE CODE LOOK LIKE? 
• PUBLIC STATIC VOID BUBBLESORT( INT [ ] NUM ) 
{ 
INT J; 
BOOLEAN FLAG = TRUE; // SET FLAG TO TRUE TO BEGIN FIRST PASS 
INT TEMP; //HOLDING VARIABLE 
WHILE ( FLAG ) 
{ 
FLAG= FALSE; //SET FLAG TO FALSE AWAITING A POSSIBLE SWAP 
FOR( J=0; J < NUM.LENGTH -1; J++ ) 
{ 
IF ( NUM[ J ] < NUM[J+1] ) // CHANGE TO > FOR ASCENDING SORT 
{ 
TEMP = NUM[ J ]; //SWAP ELEMENTS 
NUM[ J ] = NUM[ J+1 ]; 
NUM[ J+1 ] = TEMP; 
FLAG = TRUE; //SHOWS A SWAP OCCURRED 
} 
} 
} 
}
WHAT DOES THE CODE LOOK LIKE? 
• BUBBLESORT( INT A[], INT N) 
BEGIN 
FOR I = 1 TO N-1 
SORTED = TRUE 
FOR J = 0 TO N-1-I 
IF A[J] > A[J+1] 
TEMP = A[J] 
A[J] = A[J+1] 
A[J+1] = TEMP 
SORTED = FALSE 
END FOR 
IF SORTED 
BREAK FROM I LOOP 
END FOR 
END
WHEN WOULD I NEED IT? 
• SORT NUMERICALLY 
• ASCENDING 
• DESCENDING 
• SORT ALPHABETICALLY 
• A-Z 
• Z-A

Contenu connexe

Tendances (20)

Logic gates
Logic gatesLogic gates
Logic gates
 
Insertion Sort, Quick Sort And Their complexity
Insertion Sort, Quick Sort And Their complexityInsertion Sort, Quick Sort And Their complexity
Insertion Sort, Quick Sort And Their complexity
 
Quick sort
Quick sortQuick sort
Quick sort
 
Insertion sort
Insertion sortInsertion sort
Insertion sort
 
Merge sort algorithm power point presentation
Merge sort algorithm power point presentationMerge sort algorithm power point presentation
Merge sort algorithm power point presentation
 
Data Structures - Lecture 8 [Sorting Algorithms]
Data Structures - Lecture 8 [Sorting Algorithms]Data Structures - Lecture 8 [Sorting Algorithms]
Data Structures - Lecture 8 [Sorting Algorithms]
 
Data Structures - Searching & sorting
Data Structures - Searching & sortingData Structures - Searching & sorting
Data Structures - Searching & sorting
 
Sorting Algorithms
Sorting AlgorithmsSorting Algorithms
Sorting Algorithms
 
Sorting Techniques
Sorting TechniquesSorting Techniques
Sorting Techniques
 
Insertion Sort Algorithm
Insertion Sort AlgorithmInsertion Sort Algorithm
Insertion Sort Algorithm
 
Ppt bubble sort
Ppt bubble sortPpt bubble sort
Ppt bubble sort
 
basic logic gates
 basic logic gates basic logic gates
basic logic gates
 
Linear Search Data Structure
Linear Search Data StructureLinear Search Data Structure
Linear Search Data Structure
 
Selection sort
Selection sortSelection sort
Selection sort
 
Different types of Shoring Algorithms with Animation
Different types of Shoring Algorithms with AnimationDifferent types of Shoring Algorithms with Animation
Different types of Shoring Algorithms with Animation
 
3.8 quick sort
3.8 quick sort3.8 quick sort
3.8 quick sort
 
Presentation On Logic Gate
Presentation On Logic Gate Presentation On Logic Gate
Presentation On Logic Gate
 
Bubble sort
Bubble sortBubble sort
Bubble sort
 
Merge sort
Merge sortMerge sort
Merge sort
 
Merge Sort
Merge SortMerge Sort
Merge Sort
 

En vedette (20)

3.1 bubble sort
3.1 bubble sort3.1 bubble sort
3.1 bubble sort
 
Bubble sort
Bubble sort Bubble sort
Bubble sort
 
DATA STRUCTURES
DATA STRUCTURESDATA STRUCTURES
DATA STRUCTURES
 
The selection sort algorithm
The selection sort algorithmThe selection sort algorithm
The selection sort algorithm
 
Selection sort
Selection sortSelection sort
Selection sort
 
Sorting
SortingSorting
Sorting
 
Sorting algorithms
Sorting algorithmsSorting algorithms
Sorting algorithms
 
Sorting Algorithms
Sorting AlgorithmsSorting Algorithms
Sorting Algorithms
 
Bubble sort
Bubble sortBubble sort
Bubble sort
 
Sorting
SortingSorting
Sorting
 
Bubble sort
Bubble sortBubble sort
Bubble sort
 
Bubble sort
Bubble sortBubble sort
Bubble sort
 
sort search in C
 sort search in C  sort search in C
sort search in C
 
Sorting
SortingSorting
Sorting
 
Sorting
SortingSorting
Sorting
 
Linear and Bianry search
Linear and Bianry searchLinear and Bianry search
Linear and Bianry search
 
Sorting bubble-sort anim
Sorting   bubble-sort animSorting   bubble-sort anim
Sorting bubble-sort anim
 
Binary code decimal Adder
Binary code decimal AdderBinary code decimal Adder
Binary code decimal Adder
 
Selection sort
Selection sortSelection sort
Selection sort
 
3.4 selection sort
3.4 selection sort3.4 selection sort
3.4 selection sort
 

Bubble sort algorithm

  • 1. BUBBLE SORT ALGORITHM LOGAN HARCH
  • 2. BUBBLE SORT • WHAT IS IT? • WHAT DOES THE CODE LOOK LIKE? JAVA/PSEUDO • WHEN WOULD I NEED IT? • PRESENTATION OF WORKING CODE
  • 3. WHAT IS IT? • IN THE BUBBLE SORT, AS ELEMENTS ARE SORTED THEY GRADUALLY "BUBBLE" (OR RISE) TO THEIR PROPER LOCATION IN THE ARRAY, LIKE BUBBLES RISING IN A GLASS OF SODA. THE BUBBLE SORT REPEATEDLY COMPARES ADJACENT ELEMENTS OF AN ARRAY. THE FIRST AND SECOND ELEMENTS ARE COMPARED AND SWAPPED IF OUT OF ORDER. THEN THE SECOND AND THIRD ELEMENTS ARE COMPARED AND SWAPPED IF OUT OF ORDER. THIS SORTING PROCESS CONTINUES UNTIL THE LAST TWO ELEMENTS OF THE ARRAY ARE COMPARED AND SWAPPED IF OUT OF ORDER. • WHEN THIS FIRST PASS THROUGH THE ARRAY IS COMPLETE, THE BUBBLE SORT RETURNS TO ELEMENTS ONE AND TWO AND STARTS THE PROCESS ALL OVER AGAIN. SO, WHEN DOES IT STOP? THE BUBBLE SORT KNOWS THAT IT IS FINISHED WHEN IT EXAMINES THE ENTIRE ARRAY AND NO "SWAPS" ARE NEEDED (THUS THE LIST IS IN PROPER ORDER). THE BUBBLE SORT KEEPS TRACK OF THE OCCURRING SWAPS BY THE USE OF A FLAG.
  • 4. WHAT DOES THE CODE LOOK LIKE? • PUBLIC STATIC VOID BUBBLESORT( INT [ ] NUM ) { INT J; BOOLEAN FLAG = TRUE; // SET FLAG TO TRUE TO BEGIN FIRST PASS INT TEMP; //HOLDING VARIABLE WHILE ( FLAG ) { FLAG= FALSE; //SET FLAG TO FALSE AWAITING A POSSIBLE SWAP FOR( J=0; J < NUM.LENGTH -1; J++ ) { IF ( NUM[ J ] < NUM[J+1] ) // CHANGE TO > FOR ASCENDING SORT { TEMP = NUM[ J ]; //SWAP ELEMENTS NUM[ J ] = NUM[ J+1 ]; NUM[ J+1 ] = TEMP; FLAG = TRUE; //SHOWS A SWAP OCCURRED } } } }
  • 5. WHAT DOES THE CODE LOOK LIKE? • BUBBLESORT( INT A[], INT N) BEGIN FOR I = 1 TO N-1 SORTED = TRUE FOR J = 0 TO N-1-I IF A[J] > A[J+1] TEMP = A[J] A[J] = A[J+1] A[J+1] = TEMP SORTED = FALSE END FOR IF SORTED BREAK FROM I LOOP END FOR END
  • 6. WHEN WOULD I NEED IT? • SORT NUMERICALLY • ASCENDING • DESCENDING • SORT ALPHABETICALLY • A-Z • Z-A