تصویر زیر میتواند به شما در درک سریع تر و بهتر این الگوریتم کمک کند
//Bubble Sort Algorithm Delnia.blog.ir
#include <stdio.h>

void swap(int *a,int *b){
    int temp = *a;
    *a = *b;
    *b = temp;
}

int issorted(int arr[]){
    for(int i = 0;i < 10;i++){
        if(!(arr[i] <= arr[i+1]))
            return 0;
    }
    return 1;
}

int main(){
    int arr[10];
    //filling the array
    for (int i = 0;i < 10;i++){
        printf("\nEnter Element %i: ",i);
        scanf("%i",&arr[i]);
    }
    //showing the array
    for (int i = 0;i < 10;i++){
        printf("Element #%i is #%i\n",i,arr[i]);
    }
    printf("Starting sorting...\n");
    //sorting the array
    while(issorted(arr) == 0){//Until issorted returned 0 that means false
        for (int i = 0;i < 10;i++){
            if(arr[i] > arr[i+1])
                swap(&arr[i],&arr[i+1]);
        }
    }
در کد بالا تابع swap مقدار دو متغیر عدد صحیح را باهم جابجا میکند و تابع issorted نیز همانطور که از نامش پیداست چک میکند که آرایه مرتب شده است یا خیر.