标题:快速排序遇到了问题,求助
只看楼主
Sukiyou
Rank: 1
等 级:新手上路
帖 子:46
专家分:0
注 册:2006-5-6
 问题点数:0 回复次数:8 
快速排序遇到了问题,求助
#include<stdio.h>
#include<stdlib.h>
void main()
{
void quicksort(int ,int ,int );
int num[100];
for(int i=0;i<100;i++)
{
num[i]=rand();
printf("%-7d ",num[i]);
}
printf("After sort the num is:");
quicksort(num,0,100); //显示有错误的地方
for(int k=0;k<100;k++)
printf("%-7d ",num[i]);
}
void quicksort(int data[],int low,int high) //快速排序
{
int i,pivot,j;
if(low<high)
{
pivot=data[low]; i=low, j=high;
while(i<j)
{
while(i<j &&data[j]>=pivot) j--;
if(i<j) data[i++]=data[j];
while(i<j&&data[i]<=pivot) i++;
if(i<j)data[j--]=data[i];
}
data[i]=pivot;
quicksort(data,low,i-1);
quicksort(data,i+1,high);
}
}
错误提示:'quicksort' : cannot convert parameter 1 from 'int [100]' to 'int'
搜索更多相关主题的帖子: 快速 include 
2006-06-13 23:30
穆扬
Rank: 1
等 级:禁止发言
帖 子:1910
专家分:0
注 册:2006-6-1
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽

2006-06-13 23:57
feng1256
Rank: 4
等 级:贵宾
威 望:14
帖 子:2899
专家分:0
注 册:2005-11-24
得分:0 
做了些优化,最小的修改

[CODE]
#include "stdio.h"
#include "stdlib.h"
#include "time.h"

int main()
{
void Quicksort(int* ,int ,int );
int num[100];

srand( time(NULL) ); /*初始化种子,当然还有别的办法*/
for(int i=0;i<100;i++)
{
num[i]=rand();
printf("%-7d ",num[i]);
}
printf("After sort the num is:\n");
Quicksort(num,0,100);
for(int k=0;k<100;k++)
printf("%-7d ",num[k]);

return 0;
}
void Quicksort(int data[],int low,int high)
{
int i,pivot,j;

if(low<high)
{
pivot=data[low]; i=low, j=high;
while(i<j)
{
while(i<j &&data[j]>=pivot)
j--;
if(i<j) data[i++]=data[j];
while(i<j&&data[i]<=pivot)
i++;
if(i<j)data[j--]=data[i];
}
data[i]=pivot;
Quicksort(data,low,i-1);
Quicksort(data,i+1,high);
}
}


[/CODE]


叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
2006-06-14 01:52
lyle3
Rank: 1
等 级:新手上路
帖 子:80
专家分:0
注 册:2006-5-19
得分:0 

--------------------Configuration: dt - Win32 Debug--------------------
Linking...
dt.obj : error LNK2001: unresolved external symbol "void __cdecl Quicksort(int *,int,int)" (?Quicksort@@YAXPAHHH@Z)
Debug/dt.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

dt.exe - 2 error(s), 0 warning(s)


这是我用VC++运行时出的错误???
这是怎么回事???


我将再给你一次选择的机会............... QQ:514897584
2006-06-14 16:02
lyle3
Rank: 1
等 级:新手上路
帖 子:80
专家分:0
注 册:2006-5-19
得分:0 

--------------------Configuration: dt - Win32 Debug--------------------
Linking...
dt.obj : error LNK2001: unresolved external symbol "void __cdecl Quicksort(int *,int,int)" (?Quicksort@@YAXPAHHH@Z)
Debug/dt.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

dt.exe - 2 error(s), 0 warning(s)


这是我用VC++运行时出的错误???
这是怎么回事???


我将再给你一次选择的机会............... QQ:514897584
2006-06-14 16:03
lyle3
Rank: 1
等 级:新手上路
帖 子:80
专家分:0
注 册:2006-5-19
得分:0 

--------------------Configuration: dt - Win32 Debug--------------------
Linking...
dt.obj : error LNK2001: unresolved external symbol "void __cdecl Quicksort(int *,int,int)" (?Quicksort@@YAXPAHHH@Z)
Debug/dt.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

dt.exe - 2 error(s), 0 warning(s)


这是我用VC++运行时出的错误???
这是怎么回事???


我将再给你一次选择的机会............... QQ:514897584
2006-06-14 16:03
trivycool
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2006-6-10
得分:0 
符号  !  定义有错 !!
2006-06-14 22:15
Sukiyou
Rank: 1
等 级:新手上路
帖 子:46
专家分:0
注 册:2006-5-6
得分:0 
3楼的仍有错误
void Quicksort(int* ,int ,int );声明时应该是
void Quicksort(int data[],int low,int high);
不然还会出现同样的错误
'quicksort' : cannot convert parameter 1 from 'int [100]' to 'int'



先运行--------------------------------------3楼留

2006-06-15 00:27
Sukiyou
Rank: 1
等 级:新手上路
帖 子:46
专家分:0
注 册:2006-5-6
得分:0 
谢谢各位了
我已经运行出来了
在vc++6.0平台
已经没有错误了
谢谢^_^

2006-06-15 00:29



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-72098-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.267565 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved