快速排序(K&R)
来源:互联网 发布:素描书 知乎 编辑:程序博客网 时间:2024/05/22 06:13
/**qsort.c: quick sort. divide-and-conquer
*/
#include<stdio.h>
void qsort(int v[], int left, int right);
main(void)
{
int i=0;
int a[5] = {5,4,3,2,1};
qsort(a, 0, 4);
while(i < 5) {
printf("%d ", a[i]);
i++;
}
printf("\n");
return 0;
}
void qsort(int v[], int left, int right)
{
int i, last;
void swap(int v[], int i, int j);
if(left >= right)
return;
swap(v, left, (left+right)/2);
last = left;
for(i=left+1; i<=right; i++)
if(v[i]<v[left])
swap(v, ++last, i);
swap(v, left, last);
qsort(v, left, last - 1);
qsort(v, last+1, right);
}
void swap(int v[], int i, int j)
{
int temp;
temp = v[i];
v[i] = v[j];
v[j] = temp;
}
*/
#include<stdio.h>
void qsort(int v[], int left, int right);
main(void)
{
int i=0;
int a[5] = {5,4,3,2,1};
qsort(a, 0, 4);
while(i < 5) {
printf("%d ", a[i]);
i++;
}
printf("\n");
return 0;
}
void qsort(int v[], int left, int right)
{
int i, last;
void swap(int v[], int i, int j);
if(left >= right)
return;
swap(v, left, (left+right)/2);
last = left;
for(i=left+1; i<=right; i++)
if(v[i]<v[left])
swap(v, ++last, i);
swap(v, left, last);
qsort(v, left, last - 1);
qsort(v, last+1, right);
}
void swap(int v[], int i, int j)
{
int temp;
temp = v[i];
v[i] = v[j];
v[j] = temp;
}
- 快速排序(K&R)
- K&R快速排序的解释
- R语言の快速排序
- 快速排序 + 前k小数
- 快速排序(C.A.R.Hoare版)
- 快速排序(C.A.R.Hoare版)
- 利用快速排序求解k-th小数
- 快速排序 and 第K大数
- 快速排序求第K小
- 快速排序与求第k大数
- 快速排序求第k小元素
- 快速排序 求第k大数
- 排序算法-快速排序(及求第K小元素)
- WHU-Problem 1152 - Feli 的糖果 寻找第K小数(计数排序,与快速排序)
- 快速找出第K大的元素 (快速排序)
- 快速排序&半快速排序思想求n个无序数中第k或者前k个数
- 查找最小的K个元素(快速排序法思路)
- 快速排序(3)的应用:选择--用于选出第K小的元素
- fork 父进程与子进程的数据是完全独立的
- MSCI 明晟D.J. Orr博士:中国量化投资不缺人才缺工具
- Wembley record broken by U2 gig U2演唱会攻破温布利
- 蒋俊阳:如何在量化投资的趋势中寻找金子
- php的引用(源自网络)
- 快速排序(K&R)
- Java的一些注意--随意整理(一)
- myeclipse设置Struts2自动提示功能
- 实训第二天
- IE和Firefox对cookie处理的不同
- FastReport 设置Report中控件值并打印
- servlet跳转页面的几种方法
- 为Mysql添加远程用户
- Delphi idFTP