421563数组d(1)d(2)d(3)d(4)d(5)d(6)比较次数原始数据421563第一遍加工142356从d(6)到d(1)共5次第二遍加工124356从d(6)到d(2)共4次第三遍加工123456从d(6)到d(3)共3次第四遍加工123456从d(6)到d(4)共2次第五遍加工123456从d(6)到d(5)共1次数组原始数据第一遍加工第二遍加工第三遍加工第四遍加工第五遍加工d(1)411111d(2)242222d(3)124333d(4)533444d(5)655555d(6)366666比较次数从d(6)到d(1)共5次从d(6)到d(2)共4次从d(6)到d(3)共3次从d(6)到d(4)共2次从d(6)到d(5)共1次冒泡排序数组原始数据第一遍加工第二遍加工第三遍加工第四遍加工第五遍加工d(1)411111d(2)242222d(3)124333d(4)533444d(5)655555d(6)366666比较次数从d(6)到d(1)共5次从d(6)到d(2)共4次从d(6)到d(3)共3次从d(6)到d(4)共2次从d(6)到d(5)共1次结论:规模为6的数组进行冒泡排序,共需进行6-1=5遍加工,共比较5+4+3+2+1=15次数组第一遍加工第二遍加工……第n-2遍加工第n-1遍加工d(1)d(2)d(3)……d(n-1)d(n)比较次数从d(n)到d(1)共n-1次从d(n)到d(2)共n-2次……从d(n)到d(n-2)共2次从d(n)到d(n-1)共1次结论:规模为n的数组进行冒泡排序,共需进行n-1遍加工,共比较(n-1)+(n-2)+……+2+1=n(n-1)/2次冒泡排序的基本思想•把待排序的n个元素看成是垂直堆放的一列数据,从最下面的一个元素起,自下而上地比较相邻的两个元素中的数据,将较小(按升序)的数据换到上面的一个元素中