排序算法模板(C语言版) By LYLtim
来源:互联网 发布:perl语言编程 编辑:程序博客网 时间:2024/06/11 14:39
1.快速排序
/* By LYLtim */void swap (int *a, int *b){int t = *a; *a = *b; *b = t;}void QSort(int a[], int l, int r){int pl = l, pr = r, key = a[(l+r)>>1];while (pl < pr) {while (a[pl] < key) pl++;while (a[pr] > key) pr--;if (pl <= pr) {swap(&a[pl], &a[pr]);pl++; pr--;}}if (pl < r) QSort(a, pl, r);if (pr > l) QSort(a, l, pr);}
2.归并排序
/* By LYLtim */void merge(int start, int mid, int end){intpl, pr, p = start,len1 = mid - start + 1,len2 = end - mid,left[len1], right[len2];for (pl = 0; pl < len1; pl++) left[pl] = a[start+pl];for (pr = 0; pr < len2; pr++) right[pr] = a[mid+1+pr];pl = pr = 0;while (pl < len1 && pr < len2)if (left[pl] < right[pr]) a[p++] = left[pl++];else a[p++] = right[pr++];while (pl < len1) a[p++] = left[pl++];while (pr < len2) a[p++] = right[pr++];}void sort(int start, int end){if (start < end) {int mid = (start + end) >> 1;sort(start, mid);sort(mid+1, end);merge(start, mid, end);}}
- 排序算法模板(C语言版) By LYLtim
- 排序算法 C语言版
- 常见排序算法(C语言版)
- 简单排序算法总结(C语言版)
- 各种排序算法 C语言版
- 排序算法总结 (C语言版)
- 【排序】表插入排序算法(C语言版)
- C语言版各种排序算法(持续更新中)
- 常用算法之:选择排序(C语言版)
- 数据结构与算法(C语言版)__冒泡排序
- 数据结构与算法(C语言版)__选择排序
- 数据结构与算法(C语言版)__插入排序
- 数据结构与算法(C语言版)__快速排序
- 数据结构与算法(C语言版)__归并排序
- 数据结构与算法(C语言版)__堆排序
- 排序算法总结及实现(C语言版)
- 数据结构(c语言版)学习笔记——排序算法
- 数据结构(c语言版)学习笔记——排序算法
- hdu 1217 Arbitrage--Floyd
- jsort 页面无刷新排序
- java生成uuid
- 用户控件内部操控 其所在窗体 菜单属性
- 使数据库中自动编号的列从给定编号开始
- 排序算法模板(C语言版) By LYLtim
- 用户控件 委托事件
- Ehcache 下 用jgroup进行复制,Ehcache集群
- POJ1637 Sightseeing tour(混合欧拉图的判断)
- smp865x广告机之QT移植及优化
- C# 让ListBox可编辑
- 在ListView上显示带有图片的提示信息
- LINUX C 获取文件类型 以及访问权限
- C/C++的一些预定义宏