2019年6月7日 星期五

【C語言】氣泡排序法

氣泡排序法是初學排序法時,通常第一個學的排序法,因為方法直觀。
假如我要由小到大排序一個n個元素的陣列,我就需要走訪每個元素n-1次,讓每一個元素照著順序排列。
#include <stdio.h>
void bubblesort(int *b, int count);
int main()
{
  int arr[] = {5, 2, 9, 6, 7};
  bubblesort(arr, 5);
  printf("%d, %d, %d, %d, %d\n", arr[0], arr[1], arr[2], arr[3], arr[4]);
  return 0;
}

void bubblesort(int *b, int count)
{
  for (int i = count; i > 1; --i)
  {
    for (int j = 0; j < i-1; ++j) {
      if (*(b+j) > *(b+j+1)) {
        *(b+j) ^= *(b+j+1);
        *(b+j+1) ^= *(b+j);
        *(b+j) ^= *(b+j+1);
      }
    }
  }
}
這個程式可以正確的把arr陣列排序好。



👉【幫我們一個忙!】👈

👋如果您喜歡這篇文章,請在下方按5個Like!
 ❤您的支持是我們最大的動力!

您只要登入帳號(Facebook、Google),在下方按5個Like,我們就會收到來自LikeCoin基金會的贊助。
您只需要支持我們,完全不會花到錢!