Vectorun bazı faklı özellikleri daha var. Örneğin vectorun her indexinde bir rakam saklarken iki rakamı birden saklamak mümkün. Bunun için pair(çift) kullanılıyor ve bu vector tanımlanırken yapılıyor. Gelin kod üzerinde görelim.
Oops! This image does not follow our content guidelines. To continue publishing, please remove it or upload a different image.
Burda pair-in içinde yazılan ilk tip her indexde saklamak istediğimiz ilk tip, ikincisi ise ikinci tip. Şimdi pair ile neler yapa bileceğimize bakalım.
Oops! This image does not follow our content guidelines. To continue publishing, please remove it or upload a different image.
Oops! This image does not follow our content guidelines. To continue publishing, please remove it or upload a different image.
Burda göründüğü gibi vectora rakam dahil etmenin iki yolu var. Ya make_pair ile ya da sadece dalgalı parantez ile(Aslında dalgalı parantez öncesinde yoktu bu yüzdende make_pair kullanılıyordu. Ama şimdi dalgalı parantez yapıla biliyor). cout-da da göründüğü gibi pairde i-ci indexdeki ilk rakam first, ikinci rakam ise second ile çağırılıyor.
Sort ve reverse-de normal normal vectordeki gibi. Sadece sort yapılırkenönce firstlere göre yapılıyor. Firstler beraber olduğu zaman ise secondlar devreye giriyor.
Şimdi gelin bir probleme bakalım.
Problem: Ferit War of Legends oynamayı çok seviyor. Ama oynamak için doğru karakteri bulamıyor. Feritin elinde sadece karakterlerin verdiyi hasarı ve canları var. Ferit ise karakterleri hasar ve canını büyükten küçüğe doğru sıralamak. Ferit için önemli olan karakterin daha fazla hasar vermesi.
Giriş verileri İlk satırda karakterlerin sayı - n yazılıyor. Sonraki n satırda karakterlerin verdiyi hasar ve sahip olduğu can yazıyor.
Çıkıış verileri Sonraki satırlarda karakterlerin hasar ve canının sıralanmış hali.
Bu problemi pair ile çöze biliriz. Öncelikle Ferit hasara daha çok önem verdiği için onu first-e koya biliriz. Bu durumda canada second kalıyor. Sonrada sort ve reverse yapmamız yeterli.
Oops! This image does not follow our content guidelines. To continue publishing, please remove it or upload a different image.
Ayrıca vectorun 3-lü, 4-lü, 5-li ... formasınıda kullanmak için tuple kullanılıyor. Yapmanız gereken vector-u tanımlarken pair yerine tuple yazmanız ve 2 değil istediğiniz kadar tip belirtmeniz gerekir.