อัลกอริทึม C คือชื่อที่แสดงถึงการรวบรวมโครงสร้างข้อมูลทั่วไปและอัลกอริทึมที่ใช้ใน C99
ทุกครั้งที่ฉันพบว่าตัวเองกำลังเตรียมตัวสำหรับการสัมภาษณ์ทางเทคนิคซึ่งมักจะต้องมีความเข้าใจพื้นฐานบางอย่างเกี่ยวกับโครงสร้างข้อมูลทั่วไปและอัลกอริทึม คำถามเหล่านี้ควรประเมินภูมิหลังทางเทคนิคของผู้สมัครและความสามารถในการคิดด้วยเท้าของเธอ อย่างไรก็ตามในชีวิตจริงคุณควรหลีกเลี่ยงการคิดค้นวงล้อใหม่และใช้ห้องสมุดที่ได้รับการยอมรับอย่างดีและได้รับการตรวจสอบอย่างดีเช่น Boost สำหรับ C ++
ห้องสมุดรุ่นแรกถูกนำไปใช้เป็นส่วนหัวเท่านั้น
มีการแลกเปลี่ยนระหว่างการจัดส่งห้องสมุดในรูปแบบส่วนหัวเท่านั้นและใช้ไฟล์แยกต่างหากสำหรับ API และการใช้งาน วิธีการส่วนหัวเท่านั้นแม้ว่าจะไม่ได้มีประสิทธิภาพมากเมื่อสร้างโครงการขนาดใหญ่มีข้อได้เปรียบอย่างมาก ไลบรารีไม่จำเป็นต้องรวบรวมแยกต่างหากและคุณจะต้อง #include ไฟล์ส่วนหัวที่เกี่ยวข้องในซอร์สโค้ดของคุณเท่านั้น
อย่างไรก็ตามในที่สุดฉันก็ตัดสินให้ใช้ไฟล์. h และ. c แยกต่างหากสำหรับ API และการใช้งานเพราะคิดว่ามันใช้งานง่ายกว่าในแง่ของโครงสร้างรหัส
ฉันใช้เฟรมเวิร์ก GoogleTest (GTEST) สิ่งนี้ทำให้พื้นที่เก็บข้อมูลจำนวนมากและอาจจะเกินความจริงสำหรับโครงการขนาดเล็กนี้ แต่ฉันต้องการลองดูอย่างไรก็ตาม เพื่อเรียกใช้การทดสอบเพียงแค่ดำเนิน make test
นี่คือรหัสการศึกษาและการทดลอง ไม่จำเป็นต้องพูดอย่าใช้การใช้งานอัลกอริทึมของเล่นแบบสุ่มเช่นนี้ในการตั้งค่าการผลิตใด ๆ
@lekkas