Bubble sort is used to sort a list of elements, by comparing two adjacent elements and swapping them, if they are not in order:
using System;
namespace SoloLearn {
class Program {
static void bubbleSort(int[] arr) {
bool swapped;
for(int i = 0; i < arr.Length - 1; i++) {
swapped = false;
for(int j = 0; j < arr.Length - i - 1; j++) {
if(arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
swapped = true;
}
}
if(swapped == false)
break;
}
}
static void printArray(int[] arr) {
for(int i = 0; i < arr.Length; i++) {
Console.Write(arr[i] + " ");
}
}
static void Main(string[] args) {
int [] arr = {5, 2, 42, 6, 1, 3, 2};
bubbleSort(arr);
printArray(arr);
}
}
}
The boolean swapped is used to determine if swapping occurred during an iteration. If no swapping happened, then the array is sorted and we can break the loop.