- 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码排 ,以此类推。 例 :
您可能关注的文档
最近下载
- 2025年人教版一年级下册数学教学计划.docx VIP
- 高考语文文言文阅读《白氏长庆集者,太原人白居易之所作》含答案.docx VIP
- 公司治理 赵晶ppt全套教学课件.pptx
- 企业资产分类编号与管理体系标准.doc VIP
- 淋巴瘤性甲状腺肿多学科决策模式中国专家共识(2025版).docx VIP
- 游客接待中心项目投资计划书.docx
- 北师大版三年级下册数学全册教学设计(配2026年春改版教材).docx
- 科学社会主义的创立及其实践(上)——《社会主义发展简史》之二PPT课件.pptx VIP
- (高清版)G-B∕T 31838.4-2019 固体绝缘材料 介电和电阻特性 第4部分:电阻特性(DC方法) 绝缘电阻.pdf VIP
- 四级养老护理员国家职业技能培训四级模块一项目一清洁照护.pptx VIP
原创力文档

文档评论(0)