Khác biệt giữa bản sửa đổi của “Sắp xếp nổi bọt”

Nội dung được xóa Nội dung được thêm vào
Đã lùi về phiên bản 31152386 bởi HuuKhanh97 (thảo luận): Ok. (TW)
Đã lùi về phiên bản 26647941 bởi Tuanminh01 (thảo luận): Ok. (TW)
Dòng 49:
'''endprocedure'''
 
=== [[Giảm]] bớt vòng duyệt ===
Nếu trong một lần duyệt nào đó với một i cố định khi vòng lặp j kết thúc mà không cần phải đổi chỗ cặp phần tử nào, nghĩa là mọi cặp phần tử kề nhau đã đứng đúng thứ tự thì dãy đã được sắp xếp và không cần tiến hành vòng lặp tiếp theo. Do đó có thể dùng một ''cờ'' để kiểm soát việc này. Ta có một đoạn [[mã giả]] của thuật toán nổi bọt như sau:
 
Dòng 87:
if(unsortedArray[index] > unsortedArray[index+1]) { //Test if need a swap or not.
temp = unsortedArray[index]; //These three lines just swap the two elements:
unsortedArray[index] = unsortedexunsortedArray[index+1];
unsortedArray[index+1] = temp;
}
Dòng 138:
//system("pause");
//code by fb.com/hzainguyen
}
 
 
==='''Viết bằng Shell'''===
 
 
<syntaxhighlight lang="shell">
#! /bin/bash
 
echo 'Enter number of array for sort: '
read n
array=()
 
# Input
for ((i=0; i < $n; i++)); do
echo -n "Enter array[$i]: "
read array[$i]
done
 
# Sort
for (( i=0; i < $n; i++ )); do
for (( j=$i; j < $n; j++ )); do
if [ ${array[$i]} -gt ${array[$j]} ]; then
tmp=${array[$j]}
array[$j]=${array[$i]}
array[$i]=$tmp
fi
done
done
 
# Output
echo -n "Sorted: "
for (( i = 0; i < $n; i++ )); do
echo -n ${array[$i]} ';'
done
 
# code by fb.com/HuuKhanh97
 
</syntaxhighlight>
 
=== '''Viết bằng PHP''' ===