線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1049
推到 Plurk!
推到 Facebook!

[問題]如何使用vector架構去除重複多餘的值

尚未結案
plihui
初階會員


發表:88
回覆:96
積分:41
註冊:2003-07-03

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-05-12 00:11:44 IP:218.168.xxx.xxx 未訂閱
以下是我的宣告struct
typedef struct
{
 int x;
 int y;
}XY;
typedef vector XYlst;
以下是我放入值的方式 [/code] XY tmp; tmp.x=0; tmp.y=0; XYlst.push_back(tmp); ... [/code] 以此類推 假設我的XY已經放入(0,0),(0,0),(1,2),(1,3) 我該如何去除多餘的(0,0)座標呢?
pwipwi
版主


發表:68
回覆:629
積分:349
註冊:2004-04-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-05-12 03:24:48 IP:211.76.xxx.xxx 未訂閱
引言: 以下是我的宣告struct
typedef struct
{
 int x;
 int y;
}XY;
typedef vector XYlst;
以下是我放入值的方式
 XY tmp;
tmp.x=0;
tmp.y=0;
XYlst.push_back(tmp);
...
以此類推 假設我的XY已經放入(0,0),(0,0),(1,2),(1,3) 我該如何去除多餘的(0,0)座標呢?
plihui你好 : 可以先將資料排序, 然後用迴圈將相鄰的資料作比較 重複的資料用erase去除。 不過用vector的話,最後一步比較沒效率。 另一個方法是在加入資料時,先找找原來的的XY是否已經有資料。 這才是比較有效率的方法。
plihui
初階會員


發表:88
回覆:96
積分:41
註冊:2003-07-03

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-05-12 20:33:45 IP:218.168.xxx.xxx 未訂閱
我不太會用vector耶... 能不能就此例說明如何使用erase函數呢??
pwipwi
版主


發表:68
回覆:629
積分:349
註冊:2004-04-08

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-05-13 17:43:27 IP:211.76.xxx.xxx 未訂閱
引言: 我不太會用vector耶... 能不能就此例說明如何使用erase函數呢??
vector va(10);
va.erase(&va[0]); //刪除va[0]
va.erase(&va[1]); //刪除va[1]
 
系統時間:2024-06-24 20:19:47
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!