【20年扬大真题】编写对数组求逆的递归算法

【20年扬大真题】
编写对数组求逆的递归算法

void swap(int* a, int* b) {
	int tmp = *b;
	*b = *a;
	*a = tmp;
}
void Ni(int arr[],int left,int right) {
	if (left > right) {
		return;
	}
	swap(&arr[left], &arr[right]);
	Ni(arr, left + 1, right - 1);
}
int main()
{
	int arr[20] = { 0 };//默认测试大小不超过20
	int n = 0;
	printf("请输入数组元素个数:");
	scanf("%d", &n);
	printf("\n");
	printf("请输入数组元素:");
	for (int i = 0;i < n;i++)
	{
		scanf("%d", &arr[i]);
	}
	printf("\n");

	Ni(arr,0,n-1);
	printf("你输入的数组的逆为:");
	for (int i = 0;i < n;i++)
	{
		printf("%d ", arr[i]);
	}
	return 0;
}

【20年扬大真题】编写对数组求逆的递归算法_第1张图片

你可能感兴趣的:(数据结构代码汇总,算法,数据结构,C语言)