一、复习1、冒泡排序思路:小元素从根部逐次向上浮动2、冒泡排序程序设计要点:(1)基本形:Fori=1Ton-1Forj=nToi+1Step-1Ifd(j)d(j)thenk=jNextjIfk2then交换d(2)和d(k)第3遍选择18273236d(1)d(2)d(3)d(4)j=4k=3k=3Forj=4to4ifd(k)>d(j)thenk=jNextjIfk3then交换d(3)和d(k)四、算法分析第1遍选择,j从2开始到4k=1Forj=2to4ifd(k)>d(j)thenk=jNextjIfk1,交换d(1)和d(k)k=2Forj=3to4ifd(k)>d(j)thenk=jNextjIfk2then交换d(2)和d(k)第2遍选择,j从3开始到4第3遍选择,j从4开始到4k=3Forj=4to4ifd(k)>d(j)thenk=jNextjIfk3then交换d(3)和d(k)用i来表示次数的变化Fori=1to3K=i‘因为循环变量的值在循环体内不能随意改变Forj=i+1to4五、程序实现Fori=1Ton-1‘选择第i个作为最小的数k=iForj=i+1Ton'如果找到更小的,用k记住它的编号Ifd(k)>d(j)Thenk=j‘注意:d(k)与d(j)比较Nextj特点:平行加一,下标跟随,数值交换,小数上冒
——选择排序基本形IfkiThen'如果最小的数所在的位置不是i,则交换t=d(i)d(i)=d(k)d(k)=t'注意:d(k)与d(i)交换EndIfNexti六、选择排序和冒泡排序的比较交换次数循环比较次数冒泡