หน้าแรก
หน้าแรก
การเรียงลำดับค๊อกเทลเป็นรูปแบบของการเรียงลำดับฟองที่เป็นทั้งอัลกอริธึมการเรียงลำดับที่เสถียรและการเรียงลำดับแบบเปรียบเทียบหรือที่เรียกว่าการเรียงลำดับฟองแบบสองทิศทางการเรียงลำดับค็อกเทลเชคเกอร์การเรียงลำดับเชคเกอร์ หรือประเภทรถรับส่ง อัลกอริธึมแตกต่างจากการเรียงลำดับแบบฟองตรงที่เรียงลำดับทั้งสองทิศท
ตัวหารร่วมของตัวเลขสองตัวคือตัวเลขที่เป็นตัวหารของทั้งสองตัว ตัวอย่างเช่น ตัวหารของ 12 คือ 1, 2, 3, 4, 6, 12 ตัวหารของ 18 คือ 1, 2, 3, 6, 9, 18 ดังนั้น ตัวหารร่วมของ 12 และ 18 คือ 1, 2, 3, 6 ค่าที่ยิ่งใหญ่ที่สุดในบรรดาเหล่านี้อาจเรียกว่าตัวหารร่วมมากของ 12 และ 18 อย่างไม่น่าแปลกใจ สัญกรณ์ทางคณิ
การเรียงลำดับหวีคล้ายกับการเรียงลำดับฟองและการเรียงลำดับค็อกเทล การจัดเรียงแบบหวีไม่ได้เริ่มจากการดูองค์ประกอบที่อยู่ติดกัน แต่จะดูที่องค์ประกอบโดยแยกดัชนีจำนวนหนึ่งออกจากกัน ซึ่งเรียกว่าช่องว่าง ช่องว่างถูกกำหนดเป็น [n/c] โดยที่ n คือจำนวนองค์ประกอบและ c คือปัจจัยการหดตัว หลังจากการวนซ้ำแต่ละครั้ง
ตัวหารร่วมของตัวเลขสองตัวคือตัวเลขที่เป็นตัวหารของทั้งสองตัว ตัวอย่างเช่น ตัวหารของ 12 คือ 1, 2, 3, 4, 6, 12 ตัวหารของ 18 คือ 1, 2, 3, 6, 9, 18 ดังนั้น ตัวหารร่วมของ 12 และ 18 คือ 1, 2 , 3, 6. ค่าที่ยิ่งใหญ่ที่สุดในบรรดาจำนวนเหล่านี้อาจเรียกว่า 12 และ 18 อย่างไม่น่าแปลกใจ สัญกรณ์ทางคณิตศาสตร์ปกติสำ
การเรียงลำดับของ Gnome เป็นอัลกอริธึมการจัดเรียงที่คล้ายกับการเรียงลำดับการแทรก ยกเว้นว่าการย้ายองค์ประกอบไปยังตำแหน่งที่เหมาะสมนั้นทำได้โดยชุดของการแลกเปลี่ยน เช่นเดียวกับการเรียงลำดับแบบฟอง Input: 53421 Output: 12345 คำอธิบาย การเรียงลำดับอัลกอริธึมที่ย้ายองค์ประกอบไปยังตำแหน่งที่เหมาะสมนั้นทำได้
ให้จำนวนเต็ม X และ K สองจำนวน K คือจำนวนหลักในจำนวนเต็ม ตรรกะคือการหาตัวเลข K ที่ใหญ่ที่สุดหารด้วย X ได้ Input: X = 30, K = 3 Output: 980 คำอธิบาย 980 เป็นตัวเลขสามหลักที่ใหญ่ที่สุดหารด้วย 30 โดยนำ K มายกกำลัง 10 แล้วลบด้วย 1 เราจะได้เลข K ที่ใหญ่ที่สุดหลังจากนั้นเราจะพยายามหาจำนวนที่มากที่สุด ซึ่ง
เราจำเป็นต้องคำนวณผลรวมขององค์ประกอบจากดัชนี i ถึงดัชนี j แบบสอบถามที่ประกอบด้วยค่าดัชนี i และ j จะถูกดำเนินการหลายครั้ง Input:arr[] ={5, 6, 3, 4, 1 } i =1, j =3Output:13 คำอธิบาย 6 + 3 + 4 =13 ผลรวม[] ={5, 6+5, 3+6+5, 4+3+6+5, 1+4+3+6+5 }ผลรวม[]={5 ,11,14,18,19}sum[j]-sum[i-1]=sum[3]-sum[1-1]=su
ในการเรียงลำดับแบบบับเบิ้ลจะเปรียบเทียบคู่ที่อยู่ติดกันและสลับคู่หากอยู่ในลำดับที่ไม่ถูกต้อง ในการเรียงลำดับฟองประเภทนี้ เราใช้ฟังก์ชันเรียกซ้ำที่เรียกตัวเองว่า Input:53421 Output:12345 คำอธิบาย การใช้ฟังก์ชันเรียกซ้ำ (เรียกตัวเอง) เปรียบเทียบคู่ที่อยู่ติดกันและสลับกันหากอยู่ในลำดับที่ไม่ถูกต้องจนก
ในส่วนนี้ เราจะมาดูตัวอย่างกลยุทธ์การย่อโค้ดสำหรับการเขียนโปรแกรมเชิงแข่งขัน สมมติว่าเราต้องเขียนโค้ดจำนวนมาก ในโค้ดนั้น เราสามารถทำตามกลยุทธ์บางอย่างเพื่อทำให้โค้ดสั้นลงได้ เราสามารถเปลี่ยนชื่อพิมพ์ให้สั้นลงได้ โปรดตรวจสอบรหัสเพื่อรับแนวคิด โค้ดตัวอย่าง #include <iostream> using namespace st
ที่นี่เราจะเห็นเคล็ดลับที่ซ่อนอยู่ของ C ++ ที่เกี่ยวข้องกับ STL กำหนดมูลค่าของคู่โดยใช้เครื่องหมายวงเล็บปีกกา {} เราสามารถใช้พวกมันเพื่อกำหนดสิ่งอันดับเช่นกัน pair<int, int> my_pair = make_pair(10, 20); pair<int, int> my_pair2 = { 10, 20 }; //using braces pair<int, <char, int>
ที่นี่เราจะเห็นข้อดีและข้อเสียของเวกเตอร์เหนืออาร์เรย์ใน C++ เวกเตอร์เป็นคลาสเทมเพลต นี่คือโครงสร้าง C++ เท่านั้น Arrays เป็นโครงสร้างภาษาในตัว มีอาร์เรย์ในภาษาต่างๆ เวกเตอร์ถูกนำมาใช้เป็นอาร์เรย์ไดนามิกพร้อมอินเทอร์เฟซรายการ อาร์เรย์สามารถนำมาใช้โดยใช้วิธีสแตติกหรือไดนามิกกับประเภทข้อมูลดั้งเ
เราจะเห็นปัญหาหนึ่งที่น่าสนใจ เรามีอาร์เรย์ที่มีองค์ประกอบบางอย่าง มีค่าผลรวมหนึ่งค่า งานของเราคือค้นหาแฝดสามจากอาร์เรย์ และมีผลรวมเท่ากับผลรวมที่กำหนด สมมติว่าอาร์เรย์คือ {4, 8, 63, 21, 24, 3, 6, 1, 0} และค่าผลรวมคือ S =18 ดังนั้นแฝดสามจะเป็น {4, 6, 8} หากมีแฝดสามตัวมากกว่าหนึ่งตัว ก็จะแสดงทั้งหมด
ที่นี่เราจะมาดูวิธีหาพื้นที่ของวงกลมของสามเหลี่ยมที่มีด้าน โดยที่ด้าน AB คือ a, BC คือ b และ CA คือ c, รัศมีคือ r รัศมี r เท่ากับ − ตัวอย่าง #include <iostream> #include <cmath> using namespace std; float area(float a, float b, float c) { if (a < 0 || b < 0 || c &
ที่นี่เราจะเห็นพื้นที่ของสี่เหลี่ยมจัตุรัสที่ใหญ่ที่สุดที่สามารถจารึกเป็นวงรี สี่เหลี่ยมจัตุรัสในวงรีจะเป็นดังนี้ - พื้นที่ของวงรีคือ − ทีนี้ ถ้า x กับ y เท่ากัน พื้นที่คือ − ตัวอย่าง #include <iostream> #include <cmath> using namespace std; float area(float a, float b) { &nbs
ที่นี่เราจะเห็นพื้นที่ของสามเหลี่ยมที่ใหญ่ที่สุดซึ่งถูกจารึกไว้ในรูปหกเหลี่ยมปกติ แต่ละด้านของรูปหกเหลี่ยมคือ a และแต่ละด้านของรูปสามเหลี่ยมคือ b จากแผนภาพนี้ เราจะเห็นได้ว่าถ้าเราสร้างสามเหลี่ยมหนึ่งอันโดยใช้ด้านหนึ่งของรูปหกเหลี่ยม แล้วสามเหลี่ยมทั้งสองนี้จะทำให้แต่ละด้านเป็นสองส่วน เราสามารถเห
เนื่องจาก C++11 มีฟังก์ชันต่างๆ ที่เพิ่มเข้ามาใน STL ฟังก์ชันเหล่านี้มีอยู่ในไฟล์ส่วนหัวของอัลกอริทึม เราจะเห็นฟังก์ชันบางอย่างของสิ่งนี้ ฟังก์ชัน all_of() ใช้สำหรับตรวจสอบเงื่อนไขหนึ่งข้อ ซึ่งเป็นจริงสำหรับองค์ประกอบทั้งหมดของคอนเทนเนอร์ ให้เราดูโค้ดเพื่อรับแนวคิด ตัวอย่าง #include <iostrea
ที่นี่เราจะเห็นปัญหาหนึ่ง สมมติว่ามีหนึ่งอาร์เรย์ มี n องค์ประกอบ เราต้องหาดัชนีหนึ่งตัว โดยที่ความถี่ของเลขคู่ของด้านซ้ายและความถี่ของเลขคู่ของด้านขวาเท่ากัน หรือความถี่ของเลขคี่ทางด้านซ้ายของเลขคู่เท่ากับความถี่ของเลขคี่ทางขวา หากไม่มีผลลัพธ์ดังกล่าว ให้คืนค่า -1 สมมติว่าอาร์เรย์เป็นเหมือน {4, 3,
ที่นี่เราจะเห็นปัญหาหนึ่ง ในปัญหานี้ ให้ขอบต้นไม้หนึ่งต้นและให้ผลรวม S ภารกิจคือการกำหนดน้ำหนักให้กับตุ้มน้ำหนักอื่นๆ ทั้งหมด เพื่อให้เส้นทางที่ยาวที่สุดในแง่ของน้ำหนักถูกย่อให้เล็กสุด ผลรวมของน้ำหนักที่กำหนดให้เท่ากับ S วิธีการนั้นง่าย คุณสมบัติของต้นไม้ที่พาธสามารถมีโหนดลีฟได้ไม่เกินสองโหนด ที่จะ
เราสามารถแทรกโหนดใหม่ลงใน BST ในลักษณะเรียกซ้ำ ในกรณีนั้นเราจะส่งคืนที่อยู่ของรูทของทรีย่อยแต่ละอัน ที่นี่เราจะเห็นแนวทางอื่นซึ่งจะต้องรักษาตัวชี้หลักไว้ ตัวชี้หลักจะเป็นประโยชน์ในการค้นหาบรรพบุรุษของโหนด ฯลฯ แนวคิดคือการจัดเก็บที่อยู่ของทรีย่อยด้านซ้ายและขวา เราตั้งค่าพอยน์เตอร์พาเรนต์ของพอยน์เตอร
Delete เป็นโอเปอเรเตอร์ที่ใช้ในการจัดสรรพื้นที่จัดเก็บของตัวแปร ตัวชี้นี้เป็นตัวชี้ชนิดหนึ่งที่สามารถเข้าถึงได้แต่ภายในฟังก์ชันสมาชิกที่ไม่คงที่เท่านั้น และชี้ไปยังที่อยู่ของวัตถุที่เรียกใช้ฟังก์ชันสมาชิก ตัวชี้นี้เก็บที่อยู่ของวัตถุปัจจุบัน พูดง่ายๆ ว่าตัวชี้นี้ชี้ไปที่วัตถุปัจจุบันของชั้นเรียน