数据结构(算法 数组逆序)

算法 一
空间复杂度为O(n)

# include<stdio.h>
int main (void)
{
    
    
	int n,i;
	scanf("%d",&n);
	int a[n],b[n];
	for(i=0;i<n;i++)
		scanf("%d",&a[i]);
	for(i=0;i<n;i++)
		b[i]=a[n-i-1];
	for(i=0;i<n;i++)
		a[i]=b[i];
	for(i=0;i<n;i++)
		printf("%d ",a[i]);
	return 0;
 } 

在这里插入图片描述

优化算法
算法 二
空间复杂度为O(1)

# include<stdio.h>
int main (void)
{
    
    
	int n,i,t;
	scanf("%d",&n);
	int a[n],b[n];
	for(i=0;i<n;i++)
		scanf("%d",&a[i]);
	for(i=0;i<n/2;i++)
	{
    
    
		t=a[i];
		a[i]=a[n-1-i];
		a[n-1-i]=t;
	}
	for(i=0;i<n;i++)
		printf("%d ",a[i]);
	return 0;
 } 

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_45858803/article/details/109999991