c群体类和群体数据的组织.ppt

  1. 1、本文档共80页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 排序(sorting) 排序是计算机程序设计中的一种重要操作,它的功能是将一个数据元素的任意序列,重新排列成一个按关键字有序的序列。 数据元素:数据的基本单位。在计算机中通常作为一个整体进行考虑。一个数据元素可由若干数据项组成。 关键字:数据元素中某个数据项的值,用它可以标识(识别)一个数据元素。 在排序过程中需要完成两种基本操作: 比较两个数的大小 调整元素在序列中的位置 群体数据的组织 * 内部排序与外部排序 内部排序:待排序的数据元素存放在计算机内存中进行的排序过程。 外部排序:待排序的数据元素数量很大,以致内存存中一次不能容纳全部数据,在排序过程中尚需对外存进行访问的排序过程。 群体数据的组织 * 内部排序方法 插入排序 选择排序 交换排序 群体数据的组织 * 插入排序的基本思想 每一步将一个待排序元素按其关键字值的大小插入到已排序序列的适当位置上,直到待排序元素插入完为止。 初始状态: [5] 4 10 20 12 3 插入操作: 1 [4] [4 5] 10 20 12 3 2 [10] [4 5 10] 20 12 3 3 [20] [4 5 10 20] 12 3 4 [12] [4 5 10 12 20] 3 5 [3] [3 4 5 10 12 20] * 直接插入排序 在插入排序过程中,由于寻找插入位置的方法不同又可以分为不同的插入排序算法,这里我们只介绍最简单的直接插入排序算法。 例9-11 直接插入排序函数模板(9_11.h) 群体数据的组织 template class T void InsertionSort(T A[], int n) { int i, j; T temp; for (i = 1; i n; i++) { j = i; temp = A[i]; while (j 0 temp A[j-1]) { A[j] = A[j-1]; j--; } A[j] = temp; } } 直接插入排序函数模板(9_11.h) * * 选择排序的基本思想 每次从待排序序列中选择一个关键字最小的元素,(当需要按关键字升序排列时),顺序排在已排序序列的最后,直至全部排完。 [5 4 10 20 12 3] 初始状态: 3 [4 10 20 12 5] 3 4 [10 20 12 5] 第 i 次选择后,将选出的那个记录与第 i 个记录做交换。 3 4 5 [20 12 10] ... ... * 直接选择排序 在选择类排序方法中,从待排序序列中选择元素的方法不同,又分为不同的选择排序方法,其中最简单的是通过顺序比较找出待排序序列中的最小元素,称为直接选择排序。 例9-12 直接选择排序函数模板(9-12.h) 群体数据的组织 template class T void Swap (T x, T y) { T temp; temp = x; x = y; y = temp; } template class T void SelectionSort(T A[], int n) { int smallIndex; int i, j; for (i = 0; i n-1; i++) { smallIndex = i; for (j = i+1; j n; j++) if (A[j] A[smallIndex]) smallIndex = j; Swap(A[i], A[smallIndex]); } } 直接选择排序函数模板(9-12.h) * * 交换排序的基本思想 两两比较待排序序列中的元素,并交换不满足顺序要求的各对元素,直到全部满足顺序要求为止。 群体数据的组织 * 最简单的交换排序方法

文档评论(0)

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

1亿VIP精品文档

相关文档