Ответ
 
Опции вопроса Поиск в этом вопросе Опции просмотра
  #1  
Старый 20.01.2012, 10:59
Аватар для Guest
Guest
Вопрос
Сообщений: n/a
По умолчанию

// initalise array of nodes
// здесь формируем массив nodes указателей на структуту TNode
// т.е nodes объявлен как TNode** nodes;
unsigned char j=0;
do
{
if (counter[j]==0) continue;
TNode *n = new TNode (j, counter[j]);
nodes = (TNode**) realloc(nodes, (++nodes_number)*4);
memcpy((TNode*) (nodes+(nodes_number-1)), &n, 4);
}
while (++j!=0);

// sort array
qsort(nodes, nodes_number-1, sizeof(TNode*), cmp );

где
int cmp (const void *a, const void *b) {
return ((TNode*)a)->weight - ((TNode*)b)->weight;
}

сортировка не работает.. я раньше qsort никогда не использовал, помогите пожалуйста разобраться что к чему.
у меня в итоге не получается сортировки массива nodes элементов TNode* по полю weight.
Ответить с цитированием
Ответ



Похожие вопросы
Тема Автор Раздел Ответов Последний вопрос или ответ
Знатоки! Подскажите, пожалуйста, где в Москве можно купить настоящие кубинские сигары? пожалуйста? Guest Ещё вопросы и ответы из архива 9 0 19.01.2012 08:42
Подскажите пожалуйста поздравление подруге на день рождения. прикольное. пожалуйста срочно! Guest Новые вопросы и ответы 1 0 01.12.2011 17:46
Что лучше qSort или qStableSort? Guest Новый архив 3 0 28.09.2011 19:49
QList + qSort Guest Новые вопросы и ответы 5 0 28.09.2011 18:47



© www.otvetnemail.ru - Форум вопросов и ответов.