基于 vfp 的排序问题
摘要: 排序是计算机内经常进行的一种操作,其目的是将一组“无序”
的记录序列调整为“有序”的记录序列。我们通过 vfp 一些排序问题,结 合例子来了解一下
计算机排序的原理及 vfp 程序的设计思路和方法。
关键词:方法,vfp ,排序
目录
一 排序简述..................................................................................................................................... 2 二 设计程序思维:......................................................................................................................... 2 三 常见排序方法............................................................................................................................. 3 (1) 、冒泡排序....................................................................................................................... 3 (2) 、选择排序....................................................................................................................... 4 (3) 、插入排序....................................................................................................................... 6 (5) 、快速排序....................................................................................................................... 7 四 学习 vfp 感想 ............................................................................................................................. 7 五 结束语......................................................................................................................................... 8 六 参考文献..................................................................................................................................... 8
一 排序简述
排序分为内部排序和外部排序。 若整个排序过程不需要访问外存 便能完成,则称此类排序问题为内部排序;反之,若参加排序的记录 数量很大,整个序列的排序过程不可能在内存中完成,则称此类排序
问题为外部排序。 内部排序的过程是一个逐步扩大记录的有序序列长 度的过程。
设计程序思维 思维: 二 设计程序思维:
程序: 先要求使用者输入 N 个要排序的数,然后使用者依次输入 N 个 数,最后依次输出原始输入数列、从小到大排列后的数列、从大到小 排列后的数列、两端大中间小排列后的数列。 在整个程序设计过程中,我们首先要输入即将输入数的个数,然 后逐步输入 n 个数,首先按原始输入顺序输出数列;其次是要按从小 到大、大到小、两端大中间小的方式输出,在后面这几种输出中我们 必须先排序,在程序中我们采用升序排列数组,在升序排列可以采用 多种方法,常见排序方法有冒泡排序法、选择排序法、插入排序法、 缩小增量排序、快
速排序法等,在下面我们通过
程序来一一介绍。再 来强调一点,从小到大、大到小、两端大中间小这种输出方式,我们 只需要排升序一次即可, 详细思维见程序。 整个程序
设计架构如图 1。
图 1:程序设计架构
三 常见排序方法
(1) 冒泡排序 ) 、
已知一组无序数据a[1]、a[2]、……a[n],需将其按升序排列。首 先比较a[1]与a[2]的值,若a[1]大于a[2]则交换两者的值,否则不变。 再比较a[2]与a[3]的值,若a[2]大于a[3]则交换两者的值,否则不变。 再比较a[3]与a[4],以此类推,最后比较a[n-1]与a[n]的值。这样处理 一轮后,a[n]的值一定是这组数据中最大的。再对a[1]~a[n-1]