VB冒泡排序专题.pdfVIP

  • 9
  • 0
  • 约9.37千字
  • 约 4页
  • 2021-08-04 发布于湖北
  • 举报
VB 冒泡排序专题 班级 姓名 知识点回顾: 1、冒泡排序的特征:从后往前两两比较数据,不符合大小关系的两数 交换 至达到要求。 2、关于冒泡需理解: ※升序:将后数小于前数的两个数进行交换;降序:将后数大于前数的两数进行交换; ※N 个数最多进行 N-1 遍排序;两数比较的次数最多为 N*(N-1)/ 2 ;两数交换次数最多为: N*(N-1)/ 2 ; ※冒泡有很多改进算法, 在练习中要加强理解和记录 ; 3 、冒泡经典代码: ( 以降序 为例 ) for i=1 to n- 1 ’变量 i 控制遍数 n-1 for j=n to i+1 step - 1 ’控制每次比较次数 n-i 和方向 if d(j)d(j-1) then ’不满足降序(后项 前项)则交换 temp=d(j) : d(j)=d(j-1) :d(j-1)=temp end if next j next i for i=1 to n-1 for j=n-1 to i step - 1 ’理论上而言, 只需控制每次比较次数 n-i 即可 if d(j)d(j+1) then ’根据 j 的初值和终值判断是 j+1 还是 j-1 temp=d(j) : d(j)=d(j+1) :d(j+1)=temp end if next j next i 冒泡经典算法默认数据从后往前冒,第一次比较的两个数一定是 a(n) 与 a(n-1) ,一定是先把最值放 a(1) 中; 而事实上冒泡也可以从前往后冒,第一次比较的两个数一定是 a(1)与 a(2) ,一定是先把最值放在 a(n) 中。 for i=n-1 to 1 step - 1 ’变量 i 控制遍数 n-1 for i=n-1 to 1 step -1 for j= 1 to i for j= 2 to i+1 ’控制比较次数 n-i 和方向 if d(j)d(j+1) then if d(j)d(j-1) then temp=d(j) : d(j)=d(j+1) :d(j+1)=temp temp=d(j) : d(j)=d(j-1) :d(j-1)=temp end if end if next j next j next i next i 4、字符串的排序: 可以排序,按照字符的 ASCII 码。 从第一个字符开始比较,直到比出大小,即当字符串 第一个字符一样时, 按照第二个字母的 ASCII码排 ,以此类推。 例 :

文档评论(0)

1亿VIP精品文档

相关文档