软件技术基础第三章2基本排序.pptVIP

  • 2
  • 0
  • 约1.73万字
  • 约 69页
  • 2017-05-21 发布于广东
  • 举报
软件技术基础第三章2基本排序

基本排序 冒泡排序与快速排序(交换排序法) 简单插入排序与希尔排序(插入排序法) 简单选择排序与堆排序(选择排序法) 其他排序方法简介 交换排序 双向冒泡排序 (1)从表头开始往后扫描线性表,在扫描过程中逐次比较相邻两个元素的大小。若相邻两个元素中,前面的元素大于后面的元素,则将它们互换,称之为消去了一个逆序。显然,在扫描过程中,不断地将两相邻元素中的大者往后移动,最后就将线性表中的最大者换到了表的最后。 (2)从后到前扫描剩下的线性表,同样,在扫描过程中逐次比较相邻两个元素的大小。若相邻两个元素中,后面的元素小于前面的元素,则将它们互换,这样就又消去了一个逆序。显然,在扫描过程中,不断地将两相邻元素中的小者往前移动,最后就将剩下线性表中的最小者换到了表的最前面 (3)对剩下的线性表重复上述过程,直到剩下的线性表变空为止,此时的线性表已经变为有序。 bubsort(p,n) int n; ET p[]; { int m,k,j,i; ET d; k=0; m=n-1; while (k<m) /*子表未空*/ { j=m-1; m=0; for(i=k;i<=j;i++) /*从前往后扫描*/ if (p[i]>p[i+1]) /*发现逆序进行交换*/ {d=p[i];p[i]=p[i+1]

文档评论(0)

1亿VIP精品文档

相关文档