- แบบฟอร์มทั้งสองคืนตำแหน่ง หลังจากล่าสุดเขียนค่าในช่วงปลายทาง ( จึงตัดสินใจเดินทางไปเขา -
ment ที่ไม่ได้เขียนทับ )
- RST จึงฟอร์มเทียบเท่ากับการแปลงของลำดับของค่าสัมบูรณ์เป็นลำดับ
ค่าสัมพัทธ์ ในการนี้ ขั้นตอนวิธี adjacent_difference() เป็นส่วนเติมเต็มของ
partial_sum() ขั้นตอนวิธี ( ดูหน้า 627 )
- แหล่งที่มาและปลายทางช่วงอาจจะเหมือนกัน
- โทรต้องมั่นใจว่า ช่วงปลายมีขนาดใหญ่พอ หรือใส่ iterators ใช้
- op ไม่ควรปรับเปลี่ยนผ่านอาร์กิวเมนต์
- ความซับซ้อน : เชิงเส้น ( numelems-1 เรียกร้องของผู้ประกอบการหรือ OP ( ตามลำดับ )
โปรแกรมต่อไปนี้แสดงให้เห็นตัวอย่างของการใช้ adjacent_difference() :
/ / / adjacentdiff1 อัลโก .CPP
#รวมถึง " algostuff เอชพีใช้ namespace std . "
;
1 {
main() แดก < int > coll ;
insert_elements ( coll 1,6 , ) ;
print_elements ( COLL ) ;
/ / พิมพ์ทุกความแตกต่างระหว่างองค์ประกอบ
adjacent_difference ( coll . cbegin() coll cend() , / , . แหล่งที่มา /
ostream_iterator < int > เคาท์ , " " ) ; / / ปลายทาง เคาท์ < < Endl
;
/ / พิมพ์ทั้งหมดรวมกับรุ่นก่อน
adjacent_difference ( coll .cbegin() จังหวัดเชียงใหม่ , . cend() / แหล่ง /
ostream_iterator < int > เคาท์ , " " ) / / < int > ปลายทาง
พลัส ( ) ) ; / / ผ่าตัด เคาท์ < < Endl
;
/ / พิมพ์ทั้งหมดผลิตภัณฑ์ระหว่างองค์ประกอบ
adjacent_difference ( coll . cbegin() coll cend() , / / , . แหล่ง < int > (
ostream_iterator เคาท์ , " " ) / / < int > ปลายทาง
คูณ ( ) ) ; / / ผ่าตัด เคาท์ < < Endl
} ;
การแปล กรุณารอสักครู่..