标题:帮忙看一下我的程序哪儿错了
只看楼主
tufei
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2004-7-5
 问题点数:0 回复次数:2 
帮忙看一下我的程序哪儿错了

这是进行快速排序的程序,编译时,系统说是quicksort是未定义的符号,我有点不明白,请各位高手指教。谢谢!

#include<stdio.h>

main() { int num[30000]; int i,j; for(i=1; i<=30000; i++) num[i]=rand(); quicksort(num[30000], 1, 30000); for(i=1; i<=30000; i++) { printf("%d ",num[i]); if(i%10==0) printf("\n"); } }

quickSort(int a[], int s, int r) { int i; int pivot; int j;

i=s; j=r; pivot=a[s]; while (i<j) { while ((a[j] > pivot) && (i<j)) j = j - 1; a[i]=a[j]; while ((a[i] < pivot) && (i<j)) i = i + 1; a[j]=a[i]; }

a[j] = pivot; a[s] = a[j];

quickSort(a, s, j-1); quickSort(a, j+1, r); }

搜索更多相关主题的帖子: include 
2004-07-05 06:26
天使预备役
Rank: 2
等 级:论坛游民
威 望:3
帖 子:670
专家分:10
注 册:2004-4-6
得分:0 
你在主函数前把他声明一下!!!

差点把你忘了...
2004-07-05 09:39
onicuka
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2004-6-23
得分:0 

错的地方多了,先看看quickSort(int a[], int s, int r) 你第一个参数是个a的数组类型,看看你的调用quicksort(num[30000], 1, 30000); num[30000]是什么?可能会有这个数吗,最高也只有num[29999],这样申明不是越界了.

而且參数类型也不对,只是个INT而已.

调用的时候在最上面把涵数申明一下你也没有做,


2004-07-05 10:20



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




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

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