;3
เอาแบบลูกทุ่งๆ น่ะฮับ เข้าใจง่ายดี แหะๆ = v ="
int arr[] = [5,9,3,2,0];
int e, i, j;
/* วนลูปเพื่อเรียงครับ ตัวสุดท้ายไม่จำเป็นต้องเรียงครับ ฉะนั้นเราจะหาตัวที่ 0-3 เท่านั้น*/
for(j=0; j < 3(คือขนาดอาร์เรย์-2); j++)
{
e = arr[j]
/* วนลูปเพื่อหาค่ามากสุดครับ โดยเราจะไม่สนใจตัวที่เราเรียงไปแล้ว ดังนั้น i = j ขอรับ*/
for(i = j; i < 4(คือขนาดอาร์เรย์-1); i++)
{
if(arr[i] > e)
{
e = arr[i]; /* ค่าไหนมากที่สุดเก็บไว้ที่ e ครับ */
arr[i] = arr[j]; /* เป็นการย้ายตำแหน่ง เช่น เมื่อ 9 มากกว่า 5 ให้เอา 5 ไว้แทนที่ 9 ครับ*/
arr[j] = e;
}
}
}
ค่าที่ถูกเรียงขณะวนลูปจะเป็นแบบนี้ฮะ
9 5 3 0 2
9 5 3 0 2
9 5 3 0 2
9 5 3 2 0
ตัวอย่างอีกสักตัวเนอะ arr[] = [1,0,5,2,3]
5 0 1 2 3
5 3 1 2 0
5 3 2 1 0
5 3 2 1 0
This post was last modified: 12-17-2013, 10:43 AM by dreamknight.
May the
flames guide your way.
Every ending will make you stronger.