- 1
- 0
- 约1.02万字
- 约 85页
- 2019-08-10 发布于广东
- 举报
7.6 常用算法举例 2、排序 排序是将一组数按递增或递减的次序排列。常用排序的有选择法、冒泡法、插入法、希尔法等。 例7-7 用选择排序法,将6个整数(随机函数产生)按照由小到大的顺序递增排列。 选择排序法算法步骤如下: (1) 从n个数中找出最小数的下标,并将最小数与第一个数交换位置,这样就可将n个数中的最小数放在数组中的第一个数位置上。 (2) 对其余n-1个数再按步骤(1)选出次小的数,与第2个数交换位置。重复步骤(1)共n-1次,最后数组元素就是按递增顺序排列的。 递增排序 15 8 4 13 6 10 4 8 15 13 6 10 4 6 15 13 8 10 4 6 8 13 15 10 7.3 一维动态数组 问题:找出一组数中最大数、最小数。 70 50 65 80 92 60 92 max 将第五个数据与现在max变量中的值比较,如果第五个数据大于max中的值,则max值改变为第五个元素的值,否则继续取下一个数进行比较 7.3 一维动态数组 问题:找出一组数中最大数、最小数。 70 50 65 80 92 60 92 max 将第六个数据与现在max变量中的值比较,如果第六个数据大于max中的值,则max值改变为第六个元素的值,否则继续取下一个数进行比较 7.3 一维动态数组 问题:找出一组数中最大数、最小数。 70 50 65 80 92 60 92 max 此时,所有元素的值都判断完,max变量里的数就是六个数中最大的。 代码实现: Dim a%(1 to 6),max%,i% For i=1 to 6 a(i)=val(inputbox(“enter a data”)) Print a(i); Next i max=a(1) For i=2 to 6 If maxa(i) then max=a(i) Next i Print “最大值为:”;max 如何输出最大数在数组中的位置? 7.3 一维动态数组 问题:找出一组数中最大数、最小数及其位置。 70 50 65 80 92 60 0 max 算法描述: (1)首先假设第1个元素是最大数并放入变量max中,并将其位置放入变量k; (2)再将max与其他数组元素进行一一比较,如果有大于max的元素,改变max的值为该元素的值,k值为该元素的位置; (3)最终max中存放的必然是最大值,k中存放的必然是最大值的位置。 0 k 代码实现: Dim a%(1 to 6),max%,k%,i% For i=1 to 6 a(i)=val(inputbox(“enter a data”)) Print a(i); Next i max=a(1):k=1 For i=2 to 6 If maxa(i) then max=a(i):k=i Next i Print “最大值为:”;max;”位置为:”;k 代码实现: Dim a%(1 to 6),max%,k%,i% For i=1 to 6 a(i)=val(inputbox(“enter a data”)) Print a(i); Next i max=a(1):k=1 For i=2 to 6 If maxa(i) then max=a(i):k=i Next i Print “最大值为:”;max;”位置为:”;k 能否将max变量删除掉,只利用k变量求最大数及其位置? K变量中存放最大数位置;对应a(k)就是最大数 代码实现: Dim a%(1 to 6),max%,k%,i% For i=1 to 6 a(i)=val(inputbox(“enter a data”)) Print a(i); Next i max=a(1):k=1 For i=2 to 6 If maxa(i) then max=a(i):k=i Next i Print “最大值为:”;max;”位置为:”;k a(k) K变量中存放最大数位置;对应a(k)就是最大数 a(k) 如果在声明数组时数据个数是n,如何解决? 7.3 一维动态数组 1、概念:动态数组是指在程序执行过程中,数组元素个数可以改变的数组。 2、声明 创建动态数组通常分为两步: 第一步:声明一个省略维说明的数组,格式为: Dim 数组名() [As数据类型] 第二步:根据应用需要,用ReDim声明大小,格式为: ReDim [Preserve] 数组名 (下界 To 上界) [As 数据类型] 第一步可以省略 7.3 一维动态数组 3、注意事项 (1)Dim和ReDim语句中数组元素的数据类型必须一致 (2)声明动态数组的ReDim语句可以使用变量 (3)同一个动态数组可以多次重复声明,重复声明时数组元素的值均被初始化,若想保留原来的值,可
您可能关注的文档
最近下载
- 2025年版维医医师资格考试大纲.docx VIP
- 常用汉字表(2500字).pdf VIP
- 高中英语2025届高考热点环保主题作文素材(词汇+模板).doc VIP
- 2026年春季统编版(部编版)2024新教材二年级下册道德与法治教学计划、教学设计及教学反思(附目录).docx
- 高中英语2025届高考热点青少年心理健康主题作文固定搭配短语汇总.doc VIP
- (2025春)部编版一年级下册道德与法治全册教案 (新版本).docx
- 国家电网招聘考试综合能力(判断推理)模拟试卷2.docx VIP
- 运动损伤与康复-全套PPT课件.pptx
- 凌文铨组织承诺问卷.doc VIP
- 医美整形现场咨询绝对成交技巧话术.docx VIP
原创力文档

文档评论(0)