持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第1天,点击查看活动详情 【冒泡排序】 每一趟只能确定将一个数归位。即第一趟只能确定将末位上的数归位,第二趟只能将倒数第 2 位上的数归位,依次类推下去。如果有 n 个数进行排序,只需将 n-1 个数归位,也就是要进行 n-1 趟操作。而 “每一趟 ” 都需要从第一位开始进行相邻的两个数的比较,将较大的数放后面,比较完毕之后向后挪一位继续比较下面两个相邻的两个数大小关系,重复此步骤,直到最后一个还没归位的数。
for (j=0; j<len-1-i; j++) { 内循环为每趟比较的次数,第i趟比较len-i次
if (arr[j] > arr[j+1]) { 相邻元素比较,若逆序则交换(升序为左大于右,降序反之)
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}