[問題] 如何在使用 qsort 之後 還能記住位置
剛剛查到了可以直接用 Qsort 的方法
int values[] = { 40, 10, 100, 90, 20, 25 };
int compare (const void * a, const void * b)
{
return ( *(int*)a - *(int*)b );
}
int main ()
{
int n;
qsort (values, 6, sizeof(int), compare);
for (n=0; n<6; n++)
printf ("%d ",values[n]);
return 0;
}
現在情形是 有一個大小為images張數的 array
從頭到尾分別是query image 與 Database images 之間的距離
要是我直接像上面範例 將array 丟進去的話
排序之後我就不知道原本這個距離是在哪個位置
也就是不行用array位置來找出他是哪一張圖 (要顯示排序之後的result)
後來有想到方法是用 structure
struct distance_list
{
float distance;
int img_number;
};
可是這樣就不能丟進 qsrot排序 ....
麻煩大家幫我想想方法可以排序 也可以記住每個distance原來在array中的位置
感激不盡 ^^"
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.51.123
推
04/22 15:01, , 1F
04/22 15:01, 1F
→
04/22 15:07, , 2F
04/22 15:07, 2F
→
04/22 15:09, , 3F
04/22 15:09, 3F
→
04/22 15:10, , 4F
04/22 15:10, 4F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章