内容正文:
算法复习专题九 索引排序
【课前检测】
1.算法原理:
索引排序相当于是为一本书增加了一个详细的目录。这个目录可以是按所需的要求来决定先后顺序的,它记录的不是库中记录的实际内容,而只是各记录在库中的位置。最后排序后的值也是根据索引的值输出呈现的。所以,建立索引所需的空间花费比物理排序要小得多,还有利于防止产生数据冗余以及由此产生的数据更新时容易造成的数据的不一致性。
2.算法实现步骤:
转换前
a(i)数组
a(1)
a(2)
a(3)
a(4)
a(5)
a(6)
a(7)
a(i)的值
77
67
34
89
23
54
15
b(i)数组
b(1)
b(2)
b(3)
b(4)
b(5)
b(6)
b(7)
b(i)的值
1
2
3
4
5
6
7
转换后
a(i)数组
a(1)
a(2)
a(3)
a(4)
a(5)
a(6)
a(7)
a(i)的值
77
67
34
89
23
54
15
b(i)数组
b(1)
b(2)
b(3)
b(4)
b(5)
b(6)
b(7)
b(i)的值
7
5
3
6
2
1
4
a(b(i))数组
a(b(1))
a(b(2))
a(b(3))
a(b(4))
a(b(5))
a(b(6))
a(b(7))
a(b(i))的值
索引排序中,以___________数组元素作为索引序号,判断________数组元素值的大小并进行________数组元素值的交换,最后输出排好的数组元素________________。
3.算法实现基础代码
方法一:用冒泡排序
For i= 1 to n-1
For j= n to i+1 step -1
If __________< _________Then
Next j
Next i
基本代码格式:
For i= 1 to n
a(i)=Int(Rnd*10)+1
b(i)=i
Next i
对a(b