四分数组c++代码
时间: 2023-09-06 16:12:18 浏览: 49
以下是将一个数组四分成四个子数组的 C++ 代码:
```c++
#include <iostream>
#include <vector>
using namespace std;
vector<int> arr; // 待分割的数组
// 递归函数,将一个数组四分成四个子数组
void split(vector<int>& v, int start, int end) {
if (start >= end) return; // 如果起始位置大于等于结束位置,则返回
int mid1 = start + (end - start) / 4; // 第一次分割点
int mid2 = start + (end - start) / 2; // 第二次分割点
int mid3 = start + 3 * (end - start) / 4; // 第三次分割点
// 将数组分割成四个子数组
vector<int> v1(v.begin() + start, v.begin() + mid1);
vector<int> v2(v.begin() + mid1, v.begin() + mid2);
vector<int> v3(v.begin() + mid2, v.begin() + mid3);
vector<int> v4(v.begin() + mid3, v.begin() + end);
// 输出四个子数组
cout << "v1: ";
for (int i : v1) cout << i << " ";
cout << endl;
cout << "v2: ";
for (int i : v2) cout << i << " ";
cout << endl;
cout << "v3: ";
for (int i : v3) cout << i << " ";
cout << endl;
cout << "v4: ";
for (int i : v4) cout << i << " ";
cout << endl;
// 递归调用分割函数,对四个子数组进行分割
split(v, start, mid1);
split(v, mid1, mid2);
split(v, mid2, mid3);
split(v, mid3, end);
}
int main() {
// 初始化待分割的数组
arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
// 调用递归函数,将数组四分成四个子数组
split(arr, 0, arr.size());
return 0;
}
```
以上代码将一个长度为10的数组四分成四个子数组,输出每个子数组的元素。你可以根据具体需求修改代码来适应不同的场景。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)