23
วิธีที่มีประสิทธิภาพมากที่สุดในการลบข้อมูลที่ซ้ำกันและเรียงลำดับเวกเตอร์คืออะไร
ฉันต้องใช้เวกเตอร์ C ++ ที่อาจมีองค์ประกอบจำนวนมากลบรายการที่ซ้ำกันและเรียงลำดับ ขณะนี้ฉันมีรหัสด้านล่าง แต่มันใช้งานไม่ได้ vec.erase( std::unique(vec.begin(), vec.end()), vec.end()); std::sort(vec.begin(), vec.end()); ฉันจะทำอย่างถูกต้องได้อย่างไร นอกจากนี้มันจะเร็วกว่าที่จะลบรายการที่ซ้ำก่อน (คล้ายกับรหัสด้านบน) หรือดำเนินการเรียงลำดับก่อนหรือไม่ หากฉันทำการเรียงลำดับก่อนจะรับประกันว่าจะยังคงเรียงลำดับหลังจากstd::uniqueถูกเรียกใช้งานหรือไม่? หรือมีวิธีอื่น (อาจมีประสิทธิภาพมากกว่า) ในการทำสิ่งนี้ทั้งหมดหรือไม่
274
c++
sorting
vector
stl
duplicates