Quicksort for pointers

Hi! Well, I'm making a program that is kind of big, and at a point I have to use a sort algorithm to make a list I have be on decreasing order. I can use any kind of sort algorithm that I want, but I think quicksort may be the best one.

Im my program I have a struct as seen below:

typedef struct pointer *point;

typedef struct pointer{
char name[100];
point next;
point prev;
int amount;
}list;

typedef struct{
list *first;
list *last;
}head;

So basically I have a "head" that points to the first and last elements of a list. Each element points to the next and the previous elements on the list. Besides that the elements have a char name that contains a string, and a int amount, that contains a number. This list is on a random order, and I need it on a decreasing order.
So is quicksort the right algorithm for the task? If it isn't, what algorithm should I use? And can someone post a code here?
Thank you!
Topic archived. No new replies allowed.