|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include <stdio.h>
// qsort函数: 以递增顺序对 v[left] ... v[right]进行排序
void qsort(int v[],int left, int right)
{
void swap(int v[],int i , int j);
int i, last,;
void sqap(int v[] ,int i, int j );
if(left >= right)
return;
swap(v,left, (left + right) / 2);
last = left;
for ( i = left + 1; i <= right;i++)
if (v[i] <v[left])
swap(v, ++last,i);
swap(v,left,last);
qsort(v, left, last - 1);
qsort(v, last + 1, right);
}
// swap函数: 交换v[i] and v[j] 嘅值
void swap(int v[],int i , int j)
{
int temp;
temp = v[i];
v[i] = v[j];
v[j] = temp;
}
void main()
{
int a[] = {1,5,9,6,1,3,6,3,5,7,9,3,8}, e = 0, c = 12, r = 0;
while (r <= 12)
printf("%d%c",a[r++], (r % 10 == 9 || r == 13 - 1) ? '\n' : ' ');
qsort(a,e,c);
r = 0;
while (r <= 12)
printf("%d%c",a[r++], (r % 10 == 9 || r == 13 - 1) ? '\n' : ' ');
}
大家不用看整个程序,看第一个swap函数调用就OK了,那个 j 哪里来的?怎么没有定义和初始化就可以传给形参... |
|