我正在嘗試瞭解指向結構的上下文中的c庫qsort。 下面是現有代碼,我想操縱:使用qsort按不同變量對結構指針進行排序
結構:
#define MAX_NAME 20
#define NUM_MONTHS 12
typedef struct EMP {
char name[MAX_NAME+1];
int monthSales[NUM_MONTHS];
int total;
} Emp;
數據和它的大小的全局初始化:
Emp *data;//where all entries are kept
int empSize;
和我已經構建2個陣列的Emp指針,我想以不同的順序參考數據:
Emp *nameArray[empSize];//an array of pointers to point to entries alphabetically
Emp *salesArray[empSize]; //an array of pointers to pointing to entries by sales
在他們被分配完畢後,我想用qsort來區別他們。 的nameArray按字母順序排列,使用該結構的名稱和 到最小的salesArray最大使用總的結構
我應該比較方法和快速排序參數是什麼樣子?
感謝
這個功課?這看起來像我在教育工作時可能會遇到的問題。 – gbulmer 2012-03-23 21:11:52
你的代碼是什麼樣的,它試圖對一個數組進行排序?你是否已經開始使用一系列'emp數據[empSize];'使它更易於理解它?我將從一系列結構開始,讓它工作,然後使用指針數組。然後編寫第二個比較函數,並使用secoond指針數組。 – gbulmer 2012-03-23 21:14:56