21xrx.com
2024-12-22 18:51:36 Sunday
登录
文章检索 我的文章 写文章
Linux下的算法C++代码
2023-07-10 20:08:36 深夜i     --     --
Linux 算法 C++ 代码 编程

Linux是开源操作系统,拥有众多的优秀算法C++代码,能够满足各种计算问题的需要。下面介绍几种常见的算法C++代码。

1.冒泡排序算法

冒泡排序是一种简单的排序算法,它重复地遍历要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。

C++代码:

void bubbleSort(int arr[], int n) {

  int temp;

  for (int i = 0; i < n-1; i++) {

    for (int j = 0; j < n-i-1; j++) {

      if (arr[j] > arr[j+1]) {

        // Swap arr[j] and arr[j+1]

        temp = arr[j];

        arr[j] = arr[j+1];

        arr[j+1] = temp;

      }

    }

  }

}

2.二分查找算法

二分查找算法是一种在有序数组中查找某一特定元素的搜索算法。搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束。如果某一特定元素大于或小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较。

C++代码:

int binarySearch(int arr[], int n, int x) {

  int l = 0;

  int r = n - 1;

  while (l <= r) {

    int m = l + (r - l) / 2;

    if (arr[m] == x)

      return m;

    if (arr[m] < x)

      l = m + 1;

    else

      r = m - 1;

  }

  return -1;

}

3.快速排序算法

快速排序算法是一种基于分治法的算法,以一元素为中心,将小于该元素的数放在左侧,大于该元素的数放在右侧,然后再对左右两个子数组递归地执行同样的操作。

C++代码:

void quickSort(int arr[], int low, int high) {

  int i = low;

  int j = high;

  int pivot = arr[low + (high - low)/2];

  while (i <= j) {

    while (arr[i] < pivot)

      i++;

    while (arr[j] > pivot)

      j--;

    if (i <= j) {

      int temp = arr[i];

      arr[i] = arr[j];

      arr[j] = temp;

      i++;

      j--;

    }

  }

  if (low < j)

    quickSort(arr, low, j);

  if (i < high)

    quickSort(arr, i, high);

}

以上是Linux下的几种常见算法C++代码,通过使用这些代码,可以有效地解决各种计算问题。同时,尽管这些代码简单易用,但在使用之前,还是需要进行代码调试和优化,以保证算法的稳定性和高效性。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复