冒泡排序的思想:比較相鄰的兩個元素的大小,如果前者比后者大,就交換這兩個元素。
假設(shè)有n個元素的話,就要比較n-1趟,第一趟比較得到最大的元素,將該元素放在數(shù)組下標(biāo)為【n-1】的位置上,第二趟比較則就不用和最后一個元素比較了,比第一趟能少比較一次,將第二大的元素放在下標(biāo)為【n-2】的位置上,以此類推。
假設(shè)有如下數(shù)組arr[]:

第一趟排序:

判斷第i個元素和第i+1個元素的大小,如果arr[i]>arr[i+1],則交換這兩個元素,判斷一次i++一次;直到i=size-1;

第二趟到第n-1趟與之類似;代碼實(shí)現(xiàn)如下:
未優(yōu)化:

優(yōu)化1:如果其中幾趟沒有交換元素則可以減少判斷

優(yōu)化2:如果一個數(shù)組后面很多元素已經(jīng)有序,只是前面元素?zé)o序,則可以只排序前面無序的元素
