#include <iostream>
#include <vector>
void bubbleSort(std::vector<int>& arr) {
int n = arr.size();
for (int i = 0; i < n-1; i++) {
for (int j = 0; j < n-i-1; j++) {
if (arr[j] > arr[j+1]) {
std::swap(arr[j], arr[j+1]);
}
}
}
}
冒泡排序的基本概念
冒泡排序是一种简单的排序算法,通过重复遍历待排序的列表,比较相邻元素并交换顺序错误的元素。每次遍历会将未排序部分的最大(或最小)元素“冒泡”到正确位置。
int binarySearch(const std::vector<int>& arr, int target) {
int left = 0;
int right = arr.size() – 1;
while (left <= right) {
int mid = left + (right – left) / 2;
if (arr[mid] == target) {
return mid;
}
if (arr[mid] < target) {
left = mid + 1;
} else {
right = mid – 1;
}
}
return -1;
}
二分查找算法简介
二分查找(Binary Search)是一种在有序数组中快速查找目标值的算法。其核心思想是通过不断缩小搜索范围,将时间复杂度从线性搜索的 O(n) 降低到 O(log n)。
下期内容基础函数
int main() {
std::vector<int> numbers = {64, 34, 25, 12, 22, 11, 90};
bubbleSort(numbers);
std::cout << "Sorted array: ";
for (int num : numbers) {
std::cout << num << " ";
}
std::cout << std::endl;
int target = 22;
int result = binarySearch(numbers, target);
if (result != -1) {
std::cout << "Element " << target << " found at index " << result << std::endl;
} else {
std::cout << "Element not found" << std::endl;
}
return 0;
}

![【题解】[COCI 2025/2026 #6] 滑雪 / Skijanje(李超树 0 基础友好喵)-171主机测评](https://www.171host.com/wp-content/uploads/2026/08/20260826083930-6a8ea642697bc-220x25.png)
