ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:17.32KB ,
资源ID:18130826      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18130826.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(内部排序算法实现C#语言Word文档格式.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

内部排序算法实现C#语言Word文档格式.docx

1、 int j; for (int i = 1; i = 0 & iArrj tempI) iArrj + 1 = iArrj; j-; iArrj + 1 = tempI; / 二分查找插入排序。 / 在已排好序的序列中插入元素,插入位置通过二分查找获得。 public void InnerSort_BinaryInsert(int iArr) int pos; pos = FindInsertPosition(iArr, i - 1, tempI); /查找待插入位置 for (int j = i; j pos; j-) iArrj = iArrj - 1; iArrpos = tempI;

2、 / 二分查找确定待插入位置。给定数组endPos已排序序列末尾下标tempI待插入元素返回插入位置 private int FindInsertPosition(int iArr, int endPos, int tempI) int startPos = 0; int midPos; while (startPos endPos = midPos - 1; else startPos = midPos + 1; return startPos; / 希尔排序算法。 / 分组插入排序,按一定间隔先将序列分成n组,组内进行直接插入排序,再减小间隔直至1,完成排序。 public void In

3、nerSort_Shell(int iArr) int interval = len / 2; while (interval = 1) for (int i = interval; j = i - interval; iArrj + interval = iArrj; j -= interval; iArrj + interval = tempI; interval /= 2; / 选择排序算法。 / 每一次都是在待排序列中选出最小的元素,将其放置于有序序列之后。 public void InnerSort_Selection(int iArr) int min; for (int i =

4、0; pos = i; min = iArri; for (int j = i + 1; j j+) if (iArrj min) pos = j; min = iArrj; if (pos != i) Swap(iArr, pos, i); / / 交换数组中两个不同位置的元素。pos1待交换位置1pos2待交换位置2 1) ConstructMaxHeap(iArr, len - 1); /先将原数组构建成一个大顶堆 Swap(iArr, 0, len - 1); len - 2; AdjustMaxHeap(iArr, 0, len - 2 - i); /将数组剩余部分重新调整成大顶堆

5、Swap(iArr, 0, len - 2 - i); / 将给定元素序列构建成大顶堆。 / 从堆中最后一个元素的父节点开始调整,使该节点以下部分成为大顶堆,然后一直调整到根节点。lastPos待调整堆末尾位置= 0; i-) AdjustMaxHeap(iArr, i, lastPos); / 调整除堆顶位置外,其他位置均符合大顶堆性质的堆为大顶堆。startPos待调整堆起始位置 private void AdjustMaxHeap(int iArr, int startPos, int lastPos) int leftChild; int largePos; while (startP

6、os * 2 + 1 = lastPos) leftChild = startPos * 2 + 1; largePos = leftChild; if (leftChild + 1 = lastPos & iArrleftChild iArrleftChild + 1) largePos = leftChild + 1; if (iArrstartPos iArrj + 1) Swap(iArr, j, j + 1); isFinish = false; if (isFinish) */ int lastPos; int i = len - 1; while (i 0) lastPos =

7、0; lastPos = j; i = lastPos; / 快速排序算法。 / 先选择一个枢轴元素,以该元素为基准将序列划分成两部分,前半部分元素值均小于枢轴元素, / 后半部分均大于,然后递归处理前后两部分。 public void InnerSort_Quick(int iArr) QSort(iArr, 0, iArr.Length - 1); / 通过递归实现给定起始位置和末尾位置序列的快速排序。待排序起始位置待排序末尾位置 private void QSort(int iArr, int startPos, int endPos) if (startPos endPos) int

8、pivotPos = Partition(iArr, startPos, endPos); /进行一次划分 QSort(iArr, startPos, pivotPos - 1); QSort(iArr, pivotPos + 1, endPos); / 获取枢轴元素在序列划分后的位置。 / 划分过程中同时将相应元素进行移动,枢轴元素只在最终确实位置时移动。待划分序列起始位置待划分序列末尾位置返回枢轴量所处位置= tempI) endPos-; iArrstartPos = iArrendPos; iArrstartPos startPos+; iArrendPos = iArrstartPo

9、s; iArrstartPos = tempI; / 归并排序算法。 / 将待排序序列分成两个有序序列,进而合并两个有序序列为一个有序序列。 / 对于划分出的序列进行排序,可递归实现。 public void InnerSort_Merge(int iArr) MSort(iArr, 0, iArr.Length - 1); / 通过递归实现给定起始位置和末尾位置序列的归并排序。待排序序列起始位置待排序序列末尾位置 private void MSort(int iArr, int startPos, int endPos) int midPos = (startPos + endPos) /

10、2; MSort(iArr, startPos, midPos); MSort(iArr, midPos + 1, endPos); Merge(iArr, startPos, midPos, endPos); / 合并两个有序序列。第一个有序序列起始位置midPos第一个有序列末尾位置第二个有序序列末尾位置 private void Merge(int iArr, int startPos, int midPos, int endPos) int tempArr = new intendPos - startPos + 1; int pos = 0; int i = startPos; int j = midPos + 1; while (i = midPos & if (iArri = iArrj) tempArrpos = iArri; i+; tempArrpos = iArrj; j+; pos+;= midPos) while (j for (i = 0; iArrstartPos + i = tempArri;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1