2
我有這樣的結構:快速排序與結構的指針的指針
typedef struct arvDado Arv;
struct arvDado{
char c;
int qtd;
Arv* dir;
Arv* esq;
};
,我做這個結構的指針的數組:
Arv** vetArv = (Arv**)malloc(sizeof(Arv*)*qtd);
我想打一個快速排序,但我認爲我的comper功能不工作...
comper function:
int comparaCelula(const void *x, const void *y){
Arv *a=(Arv*)x, *b=(Arv*)y;
printf(" %d x %d",a->qtd,b->qtd);
if(a->qtd == b->qtd) return 0;
if(a->qtd < b->qtd) return -1;
if(a->qtd > b->qtd) return 1;
}
對於任何情況下你想看到我的執行qsort是這樣的:
陣列的點的ARV = ARV ** vetCell獸醫= QTD /尺寸結構ARV /康珀功能
qsort(vetCel, qtd, sizeof(Arv*), comparaCelula);
以怎樣的方式是不工作?你會得到什麼輸入/輸出? – EkcenierK
你分配一個'Arv *'數組。我沒有看到你在任何地方初始化陣列。 –