冒泡排序一共多少循環(huán)?
冒泡排序要用雙層循環(huán),假如有n個(gè)數(shù),第一輪循環(huán)時(shí),第二層循環(huán)執(zhí)行n-1次;第二輪循環(huán)時(shí),第二層循環(huán)執(zhí)行n-2次;直到最后一輪,第二層循環(huán)執(zhí)行1次。
因此冒泡排序的總共計(jì)算次數(shù)是(1+n-1)(n-1)/2=n(n-1)/2
這里簡單寫了一下實(shí)現(xiàn):
int[] arr = {…………};//待排序數(shù)組,長度為n
int temp = 0 ;//用于交換的臨時(shí)變量
for(int i=0;i<n-1;i++)
{
for(int j=0;j<i-1;j++)
{
if(arr[j+1]<arr[j])
{
temp = arr[j+1];
arr[j+1]=arr[j];
arr[j]=temp;
}
}
}