如何使"B筆資料"的排序與"A筆資料"的排序相同? |
尚未結案
|
黑輪
中階會員 ![]() ![]() ![]() 發表:135 回覆:188 積分:64 註冊:2004-01-29 發送簡訊給我 |
我有一個struct的資料型態
struct
{
int member;//區域編號
}point[x][y];
其中x與y為圖面上一個點的座標,然後每一個點都有其區域編號
如point[9][2].member=1、point[8][8].member=2、point[2][5].member=1...
要將其依區域編號來排序(對point[x][y].member做排序),用qsort方法(這個我會了),要如將point[x][y]的排序與point[x][y].member的排序相同呢? ps:
我是要將"點"依其"區域"來排序,就是區域1的都排在一起,區域2的都排在一起... 感謝大家哦
|
黑輪
中階會員 ![]() ![]() ![]() 發表:135 回覆:188 積分:64 註冊:2004-01-29 發送簡訊給我 |
自已來回一下啦
void qsort(int a[],int b[],int m,int n) { int i,j,k,temp; if (m < n) { i = m; j = n 1; k = a[m]; do { do { i ; }while( (a[i] < k) && (i<=n)); do { j-- ; }while( (a[j] > k) &&(j>=1)); if (i < j) { temp = a[i]; a[i] = a[j]; a[j] = temp; temp = b[i]; b[i] = b[j]; b[j] = temp; } }while(i < j); temp = a[m]; a[m] = a[j]; a[j] = temp; temp = b[m]; b[m] = b[j]; b[j] = temp; if (m < j - 1) { qsort(a, b, m, j - 1); } if (j 1 < n) { qsort(a, b, j 1, n); } } }這樣會使a陣列由大到小排序,b陣列相對應排序 |
danielkelly
初階會員 ![]() ![]() 發表:36 回覆:108 積分:28 註冊:2003-05-11 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |