您好,欢迎访问三七文档
一、冒泡排序法待排序的数据source=6,2,8,4,0,9,3,5,1,7排序后的数据sort=0,1,2,3,4,5,6,7,8,9二、选择排序法待排序的数据:source=12,54,65,2,3,40,91,7,321,50排序后的数据:sort=02,3,7,12,40,50,54,65,91,321三、Shell排序法待排序的数据:source=23,54,8,25,61,77,13,10,66,9排序后的数据:sort=08,9,10,13,23,25,54,64,66,77四、快速排序法待排序的数据:source=56,10,94,99,42,83,56,89,31,73排序后的数据:sort=010,31,42,56,56,73,83,89,94,99五、顺序查找法source=6,2,8,4,0,9,3,5,1,7inputkey:0a5=0六、折半查找法Source=2,5,7,9,10,11,13,17,21,23Inputkey:13a7=13观察得知,利用fortran语言以上几种排序法均可完成数据的排序,五六的查找法也可找到数据在数组中的位置。1、冒泡法j=1ji+1a(j)a(j+1)temp=a(j)a(j)=a(j+1)a(j+1)=tempi--结束否否是是是否开始i=n-1,n=10i0j++2、选择排序法min=a(i),j=i+1j0mina(j)temp=a(j)a(j)=a(i)a(i)=tempmin=a(i)i++结束否否是是是否开始i=1,n=10i=nj--3、shell排序i=k+1j==0,a(i)=tempi++结束否否是是否开始n=10,k=n/2k0j--a(j+1)=tempin+1j=i-1temp=a(i)a(j+1)=a(j)k=k/2是4、(流程图不会画)5、顺序查找i=1in=1Key=a(j)returni“a(i)=key”“notfound”否否是开始Inputkeyi++6、折半查找Binary_search=0l=rKeya(m)l=m+1m=(l+r)/2r=m-1m=(l+r)/2结束否否是是是否开始InputkeyKeya(l)binary_search=ml=1,r=nM=(r+l)/2Keya(m)
本文标题:几种排序算法流程图
链接地址:https://www.777doc.com/doc-5747633 .html