給定陣列:std::vectorp = ;
希望得到結果:;
演算法1:
///最簡單的演算法,遍歷一遍得所有未重複索引,複製索引資料
void test12()
;long size = p.size();
long value = 1, index = 0;
std::vectorindexvec = ;
for (int i = 1; i < size;i++)
}for (int o = 0; o < indexvec.size(); o++)
std::cout << p[indexvec[o]] << std::endl;
演算法2: 移位覆蓋相同記憶體
void test3_movemem()
;long size = p.size();
long value = 1, valeindex = 0;
long findex = 1;
while(findex < size)
else //相同就把後面的一位移過來覆蓋這一位
}std::cout << "test3_movemem" << size << std::endl;
for (int o = 0; o < p.size(); o++)
std::cout << p[o] << std::endl;
此方法效率和記憶體上都 有一定提高。因為是乙個個值覆蓋,後面改寫成可以批量覆蓋。
面試聚合知識點彙總
cas 在判斷陣列中當前位置為null的時候,使用cas來把這個新的node寫入陣列中對應的位置 synchronized 當陣列中的指定位置不為空時,通過加鎖來新增這個節點進入陣列 鍊錶 8 或者是紅黑樹 鍊錶 8 詳細過程看下面原始碼 執行緒安全版的arraylist的效能比較 collecti...
詳解BGP的聚合1
一 bgp的聚合 1 手動聚合,然後在net 聚合路由 2 aggregate address 實驗拓撲 1.不加任何引數,表示明細和彙總一起傳送,會自動產生nullo路由。防環 當明細消失,彙總就會消失。配置 驗證 這個聚合有屬性atomic aggregate,表面as資訊沒有丟失。如果r1沒有...
ES 學習8 聚合1
參考資料 特定概念 桶 buckets 滿足特定條件的文件的集合 指標 metrics 對桶內的文件進行統計計算 select count color from table group by color count color 相當於指標。group by color相當於桶。聚合例子 curl x...