随机优化快速排序
来源:互联网 发布:纯甘油兑水比例知乎 编辑:程序博客网 时间:2024/05/19 12:14
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define maxn 10000
void swap(int *i, int *j){
int t;
t = *i;
*i = *j;
*j = t;
}
int Partition(int A[], int p, int r){
int i, j, x;
x = A[r];
i = p - 1;
for (j = p; j <= r - 1; j++){
if(A[j] < x){
i++;
swap(&A[i], &A[j]);
}
}
swap(&A[i + 1], &A[r]);
return i + 1;
}
int Randomized_Partition(int A[], int p, int r){
int i;
i = rand() % (r - p + 1) + p;
swap(&A[i], &A[r]);
printf(" i = %d\n", i);
return Partition(A, p, r);
}
void Randomized_Quicksort(int A[], int p, int r){
int q;
if(p < r){
q = Randomized_Partition(A, p, r);
Randomized_Quicksort(A, p, q - 1);
Randomized_Quicksort(A, q + 1, r);
}
}
int main(){
int n, i, j;
int A[maxn];
printf("请输入数组个数\n");
scanf("%d", &n);
printf("请输入数组中的数字\n");
for (i = 1; i <= n; i++)
scanf("%d", &A[i]);
Randomized_Quicksort(A, 1, n);
for (i = 1; i <= n; i++)
printf("%d ", A[i]);
printf("\n");
return 0;
}
- 随机优化快速排序
- 随机快速排序
- 随机快速排序
- 随机快速排序
- POJ_随机快速排序
- 随机快速排序
- 随机快速排序
- 随机快速排序
- 随机快速排序法
- 快速排序和随机快速排序
- 普通快速排序与随机快速排序
- 快速排序的改进-随机快速排序
- 快速排序和随机快速排序
- 随机的快速排序算法
- 快速排序-Java-随机算法
- C++快速排序(随机值元法)
- 改良版随机快速排序
- 随机快速排序C++实现
- ORA-12154: TNS: 无法解析指定的连接标识符
- 我的代码之美_自学的优点与缺点
- linux下的telnet服务安装
- intel GDT 图
- 例解基于UML的面向对象分析与设计
- 随机优化快速排序
- 将数组内容保存为csv格式
- Android真机通过WiFi访问PC的Servlet
- Android屏幕适配
- Sprite Kit学习笔记(四)小结
- 幸运数问题
- DBCP、C3P0、Proxool 、 BoneCP开源连接池的比较
- 嵌入式内核制作、根文件系统及内核启动流程 .
- Java serial port technology agreement