[讨论] c++ qsort 的问题

楼主: longted3 (LONGTED)   2014-09-21 02:46:58
请问一个 我有一个array 1 到n 我呼叫qsort 这个内建的函式 可是sort 出来
好像是 3-n 排序过 array[1] array[2] 是一个有的没有的数 我是哪里写错了
#include<stdio.h>
#include<algorithm>
#define MAX_SIZE 512
int compare(const void *a,const void *b)
{
int *ta=(int *)a;
int *tb=(int *)b;
if(*ta>=*tb)
return 1;
return -1;
// return ( *(int*)a - *(int*)b );
}
int _tmain(int argc, _TCHAR* argv[])
{
int n;
scanf("%d",&n);
int correct_ans[MAX_SIZE]={0};
int student_ans[MAX_SIZE]={0};
for(int i=1;i<=n;i++)
scanf("%d",&student_ans[i]);
qsort(student_ans,n+1,sizeof(student_ans),compare);
return 0;
}
作者: LPH66 (-6.2598534e+18f)   2014-09-21 02:50:00
因为阵列从 0 开始...
楼主: longted3 (LONGTED)   2014-09-21 03:33:00
我知道 我是要问1-N 要如何qsort
作者: CindyLinz (Cindy Wang)   2014-09-21 04:03:00
qsort(student_ans+1,n+1,......)
作者: scwg ( )   2014-09-21 05:16:00
qsort(student_ans+1, n,......)
作者: CindyLinz (Cindy Wang)   2014-09-21 13:30:00
scwg 的才对 XD

Links booklink

Contact Us: admin [ a t ] ucptt.com