เริ่มต้นอาร์เรย์
int[] myArr = new int[5] {98, 76, 99, 32, 77};
เปรียบเทียบองค์ประกอบแรกในอาร์เรย์กับองค์ประกอบถัดไปเพื่อค้นหาองค์ประกอบที่ใหญ่ที่สุด ตามด้วยองค์ประกอบที่ใหญ่เป็นอันดับสอง เป็นต้น
if(myArr[i] < myArr[j]) { temp = myArr[i]; myArr[i] = myArr[j]; myArr[j] = temp; }
ด้านบนนี้ i และ j ถูกตั้งค่าเริ่มต้นเป็น
i=0; j=i+1;
ลองรันโค้ดต่อไปนี้เพื่อเรียงลำดับอาร์เรย์จากมากไปหาน้อย
ตัวอย่าง
using System; public class Demo { public static void Main() { int[] myArr = new int[5] {98, 76, 99, 32, 77}; int i, j, temp; Console.Write("Elements: \n"); for(i=0;i<5;i++) { Console.Write("{0} ",myArr[i]); } for(i=0; i<5; i++) { for(j=i+1; j<5; j++) { if(myArr[i] < myArr[j]) { temp = myArr[i]; myArr[i] = myArr[j]; myArr[j] = temp; } } } Console.Write("\nDescending order:\n"); for(i=0; i<5; i++) { Console.Write("{0} ", myArr[i]); } Console.Write("\n\n"); } }
ผลลัพธ์
Elements: 98 76 99 32 77 Descending order: 99 98 77 76 32