帮我写几个c++算法模板
时间: 2023-05-19 10:04:45 浏览: 97
当然可以,以下是几个常用的 C 算法模板:
1. 快速排序算法模板:
```
void quicksort(int arr[], int left, int right) {
int i = left, j = right;
int pivot = arr[(left + right) / 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 (left < j) quicksort(arr, left, j);
if (i < right) quicksort(arr, i, right);
}
```
2. 二分查找算法模板:
```
int binary_search(int arr[], int left, int right, int target) {
while (left <= right) {
int mid = (left + right) / 2;
if (arr[mid] == target) return mid;
else if (arr[mid] < target) left = mid + 1;
else right = mid - 1;
}
return -1;
}
```
3. 求最大公约数算法模板:
```
int gcd(int a, int b) {
if (b == 0) return a;
else return gcd(b, a % b);
}
```
希望这些算法模板能对你有所帮助!
阅读全文