《数据组和自定义类型》课件.ppt

  1. 1、本文档共83页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 选择排序法 算法思想: 1)对有n个数的序列(存放在数组a(n)中),从中选出最小(升序)或最大(降序)的数,与第1个数交换位置; 2)除第1 个数外,其余n-1个数中选最小或最大的数,与第2个数交换位置; 3)依次类推,选择了n-1次后,这个数列已按升序排列。 * 选择排序法 算法思想: 1)对有n个数的序列(存放在数组a(n)中),从中选出最小(升序)或最大(降序)的数,与第1个数交换位置; 2)除第1 个数外,其余n-1个数中选最小或最大的数,与第2个数交换位置; 3)依次类推,选择了n-1次后,这个数列已按升序排列。 * 选择排序法 For i = 1 To n - 1 iMin= i For j = i+1 To n If iA(j) iA(iMin) Then iMin = j end if Next j t= iA(i) iA(i) = iA(iMin) iA(iMin) = t Next I * 选择排序法 Picture1.Cls:Dim i%, imin%:Dim ia(1 To 6) As Integer For i = 1 To 6 ia(i) = Int(Rnd * 101) Next For i = 1 To 6 Picture1.Print ia(i); Next Picture1.Print For i = 1 To 5 imin = i For j = i + 1 To 6 If ia(j) ia(imin) Then imin = j Next j t = ia(i): ia(i) = ia(imin): ia(imin) = t Next i * 冒泡排序法 算法思想:(将相邻两个数比较,小的调到前头) 1)有n个数(存放在数组a(n)中),第一趟将每相邻两个数比较,小的调到前头,经n-1次两两相邻比较后,最大的数已“沉底”,放在最后一个位置,小数上升“浮起”; 2)第二趟对余下的n-1个数(最大的数已“沉底”)按上法比较,经n-2次两两相邻比较后得次大的数; 3)依次类推,n个数共进行n-1趟比较,在第j 趟中要进行n-j次两两比较。 * 冒泡排序法 选择法排序在每一轮排序时找最小(递增次序)数的下标,出了内循环(一轮排序结束),再交换最小数的位置; 而冒泡法排序在每一轮排序时只要将第一个与其他几个比较,只要次序不对,就交换,出了内循环,最小数已冒出。 * 冒泡排序法 For i = 1 To 5 For j = 6 To i + 1 Step -1 If ia(j) ia(j - 1) Then temp = ia(j) ia(j) = ia(j - 1) ia(j - 1) = temp End If Next j Next i * 冒泡排序法 Picture1.Cls:Dim i%, imin%:Dim ia(1 To 6) As Integer For i = 1 To 6 ia(i) = Int(Rnd * 101) Next For i = 1 To 6 Picture1.Print ia(i); Next Picture1.Print For i = 1 To 5 For j = 6 To i + 1 Step -1 If ia(j) ia(j - 1) Then temp = ia(j) ia(j) = ia(j - 1) ia(j - 1) = temp End If Next j Next i * 数组元素的插入与删除 (1) 插入 在有序数组a(1 to n)(原有n-1个元素)插入一个值Key元素,算 法: 查找要插入的位置k(1=k=n-1) 腾出位置,把最后一个元素开始到第k个元素往后移动一个位 置第k个元素的位置腾出,就可将数据Key插入 * 数组元素的插入与删除 Picture1.Cls:Dim a%(1 To 10), i%, k% For i = 1 To 9 a(i) = (i - 1) * 3 + 1 Next For i = 1 To 10 Picture1.Print a(i); Next For k = 1 To 9

文档评论(0)

沙卡娜 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档