[英]Is there only one way to implement a bubble sort algorithm?
我試圖實現自己的冒泡排序算法,而沒有在線查看任何偽代碼,但是現在,我已經成功完成了它,我的代碼看上去與我在網上看到的示例完全不同。 它們都涉及處理交換變量true或false。 我的實現根本不包含這種實現,因此我沒有進行冒泡排序嗎?
這是我在網上看到的示例:
for i = 1:n,
swapped = false
for j = n:i+1,
if a[j] < a[j-1],
swap a[j,j-1]
swapped = true
→ invariant: a[1..i] in final position
break if not swapped
結束
這是我的實現:
void BubbleSort(int* a, int size)
{
while (!arraySorted(a, size))
{
int i = 0;
while (i < (size-1))
{
if (a[i] < a[i+1])
{
i++;
}
else
{
int tmp = 0;
tmp = a[i+1];
a[i+1] = a[i];
a[i] = tmp;
i++;
}
}
}
}
它做的是相同的工作,但是有什么不同嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.