Sorting Function in C/C++

วิธีการ Sort Array (เรียงลำดับ) มีหลายวิธีมาก แต่ละวิธีก็มีความเร็วที่แตกต่างกันไป ตั้งแต่ O(n^2) ไปจนถึง O(nlogn) แล้วการเขียนสดนั้น ไม่ใช่เรื่องง่ายแน่ ซึ่งแน่นอนมีตัวช่วยเยอะแยะ :) วิธีที่ใช้กันบ่อยๆ ได้ทั้ง C/C++ ก็คือใช้ qsort() ใน stdlib.h (cstdlib) Quick Sort == Speed O(nlogn) แล้วถ้าเราจะ Sort แบบกลับด้านล่ะ (เรียงจากมากไปน้อย) ง่ายมากเลย แค่แก้ compare function การเข้าใจก็ไม่มีอะไรมาก compare เป็น Function Pointer ที่จะรับ argument 2 ตัว เพื่อมาเปรียบเทียบหาความแตกต่างของค่าทั้ง 2 เพื่อที่จะเอาผลลัพธ์ไปใช้ qsort ใช้ในการสลับค่า ทีนี้การมี void * (void pointer) หมายความว่า Type ที่เข้ามาจะเป็นอะไรก็ได้ ดังนั้นเราสามารถประยุกต์มาใช้ Sort Character in String ได้ด้วย เช่น ** จะเห็นว่าด้านบนผมบอกว่า qsort() อยู่ใน stdlib.h (cstdlib) แต่ผมก็ไม่ได้เขียนลงไป เพราะผมลืม นั่นเพราะ C++ Compiler ตัวใหม่ๆ จะมี stdio.h และ stdlib.h อยู่ใน iostream อยู่แล้ว :) แถมให้นิด เนยสดแห่ง Twitter ท่านได้ C...