ในการเขียนโปรแกรมเชิงแข่งขัน สิ่งที่สำคัญที่สุดคือโค้ดที่มีประสิทธิภาพ โค้ดที่เพิ่มประสิทธิภาพและเร็วขึ้นเป็นสิ่งสำคัญและสามารถสร้างความแตกต่างในระดับโปรแกรมเมอร์ได้
ในการเขียนโค้ด c/c++ ที่มีประสิทธิภาพในการเขียนโปรแกรมเชิงแข่งขัน ต่อไปนี้คือเครื่องมือที่มีประสิทธิภาพสำหรับการเขียนโค้ด c/c++ อย่างมีประสิทธิภาพ
ก่อนอื่น เรามาจำคำศัพท์พื้นฐานกันก่อน
-
แม่แบบ กำลังเขียนโค้ดที่ไม่ขึ้นกับประเภทใดประเภทหนึ่ง
-
มาโคร เป็นส่วนย่อยของรหัสที่มีชื่อ
-
เวกเตอร์ เป็นเหมือนอาร์เรย์ไดนามิกที่ปรับขนาดได้โดยอัตโนมัติที่อัปเดตขนาดด้วยการแทรกและการลบองค์ประกอบ
ตอนนี้ มาดูการอัปเดตพื้นฐานบางอย่างในโค้ดที่สามารถทำให้โค้ดมีประสิทธิภาพเพิ่มขึ้น
-
การใช้วิธีการอินพุต/เอาต์พุตที่เร็วขึ้นคือ c/c++ − scanf/printf เป็นวิธีอินพุต-เอาต์พุตที่เร็วกว่า
-
การกำหนดค่าตัวแปรด้วยค่าสูงสุดและต่ำสุด − การใช้ฟังก์ชัน min-max จะช่วยลดความพยายาม
-
การสร้างลูปตามช่วง − สำหรับการเข้ารหัสที่มีประสิทธิภาพ ให้วนซ้ำในลูปโดยใช้ ranged loop บนอาร์เรย์และเวกเตอร์
ตัวอย่าง
#include<iostream> using namespace std; int main() { cout<<"Iterating over array using ranged array: "; int array[]= {6, 10, 31, 17, 50}; for (const auto &value: array) cout<<value<<" "; return 0; }
ผลลัพธ์
Iterating over array using ranged array: 6 10 31 17 50
- การใช้ไฟล์ส่วนหัวที่เหมาะสม − โดยทั่วไปในการเขียนโปรแกรม c++ จะมีไลบรารีต่างๆ มากมายที่ใช้ในการรวมฟังก์ชันต่างๆ ของโปรแกรม ไฟล์ส่วนหัว :#include
มีไฟล์เกือบทั้งหมดที่จำเป็นในการเขียนโปรแกรมเชิงแข่งขัน แต่ในขณะที่การเขียนโปรแกรมทำให้แน่ใจว่าคุณต้องมีฟังก์ชันเหล่านี้ก่อนที่จะรวมไลบรารีนี้ มิฉะนั้น อาจใช้พื้นที่ในการคำนวณ
-
ใช้ภาชนะเพื่อลดพื้นที่ - คอนเทนเนอร์เช่นเวกเตอร์ แผนที่ รายการ ฯลฯ ที่ใช้สำหรับการแก้ปัญหามากมายในการเขียนโปรแกรมการแข่งขัน ฟังก์ชันที่กำหนดไว้ล่วงหน้าในคอนเทนเนอร์เหล่านี้จะลดขนาดของโค้ดและทำให้มีประสิทธิภาพมากขึ้น
-
ใช้ auto เพื่อประกาศประเภทข้อมูล เนื่องจากมีการกำหนดประเภทข้อมูลในขณะรวบรวม