导图社区 C 语言实例 - 数组拆分与合并
这是一篇关于C 语言实例 - 数组拆分与合并的思维导图,主要内容包括:数组拆分、手动拆分、使用指针拆分。
提示: 本内容由社区用户上传并分享。平台不对内容的真实性、合法性、知识产权归属及是否侵害第三方权利进行事前审核或保证。本内容可能包含受版权保护的图片、字体或其他第三方素材,使用前请自行确认授权范围。
这是一篇关于64、 C 语言实例 - 计算两个时间段的差值的思维导图,主要内容包括:方法2:手动计算时间差,方法1:使用struct tm和mktime函数。
这是一篇关于C 语言实例 - 复数相加的思维导图,主要内容包括:方法2:使用数组表示复数,方法1:使用结构体表示复数。
这是一篇关于C 语言实例 - 使用结构体(struct)的思维导图,主要内容包括:2. 使用typedef简化结构体类型名,1. 定义结构体。
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
C 语言实例 - 数组拆分与合并
数组拆分
方法 1:手动拆分
#include <stdio.h>
#include <stdlib.h>
int main() {
int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
int n = sizeof(arr) / sizeof(arr[0]);
int mid = n / 2;
/*使用动态内存分配*/
int* arr1 = (int*)malloc(mid * sizeof(int));
int* arr2 = (int*)malloc((n - mid) * sizeof(int));
if (arr1 == NULL || arr2 == NULL) {
/*检查内存分配是否成功*/
printf("内存分配失败!\n");
return 1;
}
/*拆分数组*/
for (int i = 0; i < mid; i++) {
arr1[i] = arr[i];
for (int i = mid; i < n; i++) {
arr2[i - mid] = arr[i];
/*打印拆分后的数组*/
printf("arr1: ");
printf("%d ", arr1[i]);
printf("\n");
printf("arr2: ");
for (int i = 0; i < n - mid; i++) {
printf("%d ", arr2[i]);
/*释放动态分配的内存*/
free(arr1);
free(arr2);
return 0;
方法 2:使用指针拆分
int* arr1 = arr;
int* arr2 = arr + mid;