算法 c语言 快速排序
来源:互联网 发布:福建天正网络咨询 编辑:程序博客网 时间:2024/06/05 06:10
#include<stdio.h>
#define N 8
void show(int a[]);
extern int quickpass(int a[],int i,int j);
extern void quicksort(int a[],int low,int high);
int main()
{
int a[N] = {50,36,66,76,36,12,25,95};
printf("原无序记录:\n");
show(a);
printf("排序过程如下:\n");
quicksort(a,0,N-1);
return 0;
}
int quickpass(int a[],int i,int j)
{
int tmp;
tmp = a[i];//将a[i]的基值保存起来
while(i < j)
{
//从上界比较
while(i < j && tmp <= a[j])
j--;
//将a[j]交换到左边
if(i < j)
{
a[i] = a[j];
}
//从下界比较
while(i < j && tmp >=a[i])
i++;
//将a[i]交换到右边
if(i < j)
a[j] = a[i];
}
a[i] = tmp;//将基准放到最终位置
return i;//返回基准的下标
}
void quicksort(int a[],int low,int high)
{
int mid;
if(low < high)
{
mid = quickpass(a,low,high); //一趟快速排序
show(a);
quicksort(a,low,mid-1);//基准左边序列快速排序
quicksort(a,mid+1,high);
}
}
void show(int a[])
{
int i;
for(i = 0;i < N;i++)
printf("%d\t",a[i]);
printf("\n");
}
阅读全文
0 0
- 快速排序算法(C语言)
- 快速排序算法-C语言
- C语言 ---- 快速排序算法
- C语言,快速排序算法
- 快速排序算法C语言
- 快速排序算法C语言
- C语言快速排序算法
- 算法 c语言 快速排序
- 快速排序算法 c语言
- 排序算法c语言描述---快速排序
- 快速排序算法(C语言)
- 快速排序C语言算法实现
- c语言实现快速排序算法
- 快速排序算法的c语言实现
- 算法导论 之 快速排序[C语言]
- 算法—快速排序Sqrt (C语言)
- C语言算法系列:快速排序
- 快速排序算法的C语言实现
- 使用c语言画爱心
- 三参数或七参数计算工具使用帮助
- 【CS231N】Numpy 使用入门 (2)
- 苹果所有常用证书,appID,Provisioning Profiles配置说明及制作图文教程
- iOS高级调试&逆向技术-汇编寄存器调用
- 算法 c语言 快速排序
- HQL常用的查询语句
- 指定月份获取每周开始和截止时间,不足一周下个月的补足一周,以周六为标准
- SDUT-二叉排序树
- Java管理扩展指南之JMX技术总览
- 机房重构未能加载文件或程序集“DAL”或它的某一个依赖项。系统找不到指定的文件。
- c++ strstream
- MySQL_5.7.17的安装与配置
- c指针