文档详情

数据组和自定义类型.ppt

发布:2017-12-12约1.43万字共83页下载文档
文本预览下载声明
* 选择排序法 算法思想: 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
显示全部
相似文档