การเรียงลำดับอาเรย์เป็นกระบวนการของการใช้แต่ละองค์ประกอบของอาเรย์และจัดเรียงไว้ในลำดับตรรกะบางประเภทตามชุดของกฎที่กำหนดโดยผู้ใช้ กระบวนการเกี่ยวข้องกับการก้าวผ่านอาร์เรย์หนึ่งองค์ประกอบในแต่ละครั้งและทดสอบองค์ประกอบนั้นกับองค์ประกอบรอบข้างเพื่อพิจารณาว่าจำเป็นต้องย้ายไปยังดัชนีอื่นภายในอาร์เรย์หรือไม่ เมื่อทำการเรียงลำดับอาเรย์มีหลายอัลกอริธึมที่สามารถใช้ได้โดยเฉพาะเมื่อเงื่อนไขการเรียงลำดับเป็นตัวเลข อัลกอริธึมการเรียงลำดับอาเรย์ส่วนใหญ่วัดจากความเร็วและประสิทธิภาพโดยอัลกอริธึมที่ช้าที่สุดเป็นโปรแกรมที่ง่ายที่สุดและซับซ้อนที่สุด
อัลกอรึทึมการเรียงลำดับที่ง่ายที่สุดเรียกว่าการเรียงลำดับฟองและมันก็ช้าที่สุด กระบวนการเริ่มต้นด้วยการวนซ้ำที่จะผ่านแต่ละองค์ประกอบในอาร์เรย์ องค์ประกอบปัจจุบันจะถูกเปรียบเทียบกับองค์ประกอบถัดไปในอาร์เรย์และหากองค์ประกอบถัดไปมีค่าต่ำกว่าองค์ประกอบปัจจุบันข้อมูลที่ดัชนีจะถูกเปลี่ยน ข้อเสียเปรียบในการจัดเรียงฟองคือมันจำเป็นต้องวนซ้ำอาร์เรย์หลาย ๆ ครั้งเพื่อให้การสลับที่จำเป็นทั้งหมดเพื่อเรียงลำดับอาร์เรย์ ในการใช้งานขั้นพื้นฐานที่สุดการเรียงลำดับจะวนลูปผ่านอาร์เรย์ทั้งหมดหนึ่งเวลาที่สมบูรณ์สำหรับแต่ละองค์ประกอบที่มี
การเรียงลำดับการเลือกใช้อัลกอริทึมที่ดำเนินการเรียงลำดับอาร์เรย์ในลักษณะที่มีประสิทธิภาพมากกว่าการเรียงลำดับฟองเล็กน้อย แต่ยังคงต้องการการวนซ้ำหลายครั้งผ่านอาร์เรย์ การเรียงลำดับนี้เริ่มต้นด้วยการวนลูปผ่านอาร์เรย์เพื่อค้นหาองค์ประกอบที่มีค่าต่ำที่สุด องค์ประกอบนี้จะถูกวางไว้ในดัชนีแรกของอาร์เรย์และตัวแปรการติดตามบางส่วนเพิ่มขึ้น วัฏจักรนั้นซ้ำแล้วตอนนี้มองหาค่าต่ำสุดถัดไปที่จะถูกวางไว้ในดัชนีที่สองของอาร์เรย์ กระบวนการจะดำเนินต่อไปจนกว่าองค์ประกอบที่มีค่าสูงสุดจะอยู่ในดัชนีสุดท้ายของอาร์เรย์
วิธีการเรียงลำดับอาเรย์ที่มีประสิทธิภาพ แต่บางครั้งก็มีความซับซ้อนในการนำไปใช้นั้นรู้จักกันในชื่อ quicksort Quicksorting เกี่ยวข้องกับการรับค่าที่อยู่ตรงกลางของค่าที่เป็นไปได้ทั้งหมดที่จัดขึ้นในอาร์เรย์ อัลกอริทึมเดินผ่านองค์ประกอบทั้งหมดของอาร์เรย์และทำให้ค่าทั้งหมดมากกว่าจำนวนค่ามัธยฐานในตอนท้ายของอาร์เรย์และค่าที่ต่ำกว่าที่จุดเริ่มต้น กระบวนการนี้จะดำเนินการซ้ำในบล็อกของอาร์เรย์จนในตอนท้ายอาร์เรย์ทั้งหมดจะถูกจัดเรียง สมมติว่าค่ากลางที่ใช้สำหรับอาเรย์นั้นมีความแม่นยำพอสมควรนี่อาจเป็นวิธีการเรียงลำดับที่รวดเร็วมาก
ปัจจัยหนึ่งที่สามารถส่งผลกระทบต่ออัลกอริทึมการเรียงลำดับอาเรย์คือวิธีการที่ข้อมูลถูกทดสอบเพื่อความเท่าเทียมกัน ตัวเลขธรรมดาง่ายต่อการเปรียบเทียบค่าที่มากกว่า แต่อาจไม่เป็นกรณีสำหรับคลาสข้อมูลที่ซับซ้อนซึ่งต้องเปรียบเทียบหลายเงื่อนไข ยิ่งใช้เวลานานเท่าไรในการเปรียบเทียบว่าองค์ประกอบหนึ่งมีค่ามากกว่าหรือน้อยกว่าอีกองค์ประกอบหนึ่งจะใช้เวลานานกว่าในการเรียงลำดับอาร์เรย์


