快速排序

[复制链接]
查看11 | 回复3 | 2012-7-16 14:53:21 | 显示全部楼层 |阅读模式
#include "stdio.h"#include "string" void swap(int *x,int *y) {int t;
t=*x;
*x=*y;
*y=t;}int partition(int a[], int p, int r)//p代表头,r代表尾{
int i,j,x;
i = p-1;
x = a[r];
for (j=p;j<r;j++)
{
if (a[j]<=x)//用到比X大的数直接跳过,但i的值是依次增大12345......
{
i=i+1;...
回复

使用道具 举报

千问 | 2012-7-16 14:53:21 | 显示全部楼层
我不知道你是怎么实现快排的,但是你的程序有几处错误:1.调用函数:swap(array,array[j]);
应该写成:swap(&array,&array[j]); //传址 2.你出错的地方: quickSort(array[Half],numOflement-Half);
/...
回复

使用道具 举报

千问 | 2012-7-16 14:53:21 | 显示全部楼层
数组都是挨着的 取第一个元素的地址传进去 用指针移动访问其余的元素 注意不要越界哟··...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行