排序算法思想和实现(代码)(二)
来源:互联网 发布:php抓取新闻 编辑:程序博客网 时间:2024/04/30 00:52
1. 快速排序算法
- /* --------------------------------------------------------------------------**
- 函数名称: ms_quick_sort
- 参数含义: int data[] (i/o) 排序数组
- int low (i) 数组低序坐标
- int high (i) 数组高序坐标
- int order (i) 序列方式 (0 为递减,1 为递增)
- 功能简称: 快速排序。
- 功能描述: 将数组data[]中的范围在low到high的数据按制定的方式进行排序。
- 实现描述: 通过一趟排序将待排的记录分割为独立的两部分,其中一部分记录的关键字
- 均比另一部分的关键字小,然后分别对这两部分记录继续进行排序,以达到
- 整个序列有序。
- 创建日期: 2008年12月28日。
- / ---------------------------------------------------------------------------*/
- void ms_quick_sort(int data[], int low, int high, int order)
- {
- int i;
- int j;
- int pivot;
- bool exchg = false;
- if ( low < high )
- {
- pivot = data[low];
- i = low;
- j = high;
- while ( i<j )
- {
- // 高序数据的比较
- while ( i<j )
- {
- exchg = false;
- ms_data_order(exchg, pivot, data[j], order);
- if ( !exchg )
- {
- j--;
- }
- else
- {
- data[i++] = data[j];
- break;
- }
- }
- // 低序数据的比较
- while ( i<j )
- {
- exchg = false;
- ms_data_order(exchg, data[i], pivot, order);
- if ( !exchg )
- {
- i++;
- }
- else
- {
- data[j--] = data[i];
- break;
- }
- }
- }
- data[i] = pivot;
- ms_quick_sort(data, low, i-1, order);
- ms_quick_sort(data, i+1, high, order);
- }
- }
- 排序算法思想和实现(代码)(二)
- 排序算法思想和实现(代码)(一)
- 排序算法总结(js代码实现,思想通用)
- 排序--归并算法思想及其代码实现
- 几种排序算法及其代码实现(二)
- 常用代码段(二)冒泡排序算法Java实现
- KMP算法代码实现和优化(不太能理解具体的过程和该算法思想)
- 冒泡排序思想和实现代码
- 选择排序基本思想和实现代码
- 常用排序算法 思想和实现()
- 排序--快速排序算法的思想及其代码实现
- 算法系列(二)冒泡排序、选择排序、插入排序和希尔排序(Java实现)
- 总结八大排序算法的基本思想与代码实现
- 排序算法思想及代码
- 排序算法【java实现】(二)冒泡排序和简单选择排序
- 经典排序算法之实现(二)
- 八大算法思想(二)------------------递归算法
- 直接插入排序的算法思想和实现过程
- 勇敢者论坛源代码分析系列(2)—url参数传递
- 哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈
- Axure RP Pro - Download下载 - Axure RP Pro 5.0.0.1515
- ◆勇敢者论坛源代码分析系列(3)—分页查询
- 当下10大最热门的网站开发技术
- 排序算法思想和实现(代码)(二)
- IBM WebSphere Application Server V7.0 中的 Web Services 安全策略及配置
- linux c编程 “stdio.h:没有该文件或目录”
- 程序员的10个等级
- test
- 静态链接库与动态链接库总结
- oracle 事务
- PHP实现“挑战-应答”方式的登陆模型
- 任何成为一个合格的程序人员