泡泡排序(Bubble Sort)是一種排序演算法,透過逐步交換相鄰元素將
序列按大小順序排列。試比較與評論下列兩個版本的泡泡排序程式(in
Python)。(25 分)
def bubble_sort_v1(arr):
n = len(arr)
for i in range(n):
for j in range(n - 1):
if arr[j] > arr[j + 1]:
arr[j], arr[j + 1] = arr[j + 1], arr[j]
def bubble_sort_v2(arr):
n = len(arr)
for i in range(n):
swapped = False
for j in range(n - i - 1):
if arr[j] > arr[j + 1]:
arr[j], arr[j + 1] = arr[j + 1], arr[j]
swapped = True
if not swapped:
break
char toHexDigit(int num) {
if (num < 10)
return '0' + num;
else
return 'A' + (num - 10);
}
void printHexFromBinary(int num) {
int leading_zero_found = 0;
unsigned int mask = 0xF0000000;
int shift_amount = (sizeof(int) * 8) - 4;
printf("0x");
for (int i = 0; i < sizeof(int) * 8 / 4; i++) {
int hex_digit = (num & mask) >> shift_amount;
if (hex_digit != 0 || leading_zero_found){
leading_zero_found = 1;
printf("%c", toHexDigit(hex_digit));}
mask >>= 4;
shift_amount -= 4;
}
if (!leading_zero_found)
printf("0");
printf("\n");
}