Estructura de datos: el lenguaje C se da cuenta del orden inverso de la matriz y la complejidad del espacio es O (1)

Ideas

  1. Calcule la longitud de la matriz
  2. La primera y la penúltima posición se intercambian; la i-ésima posición se intercambia con la longitud-1-i-ésima posición
  3. Bucle la mitad de la matriz

El siguiente es el código, que se puede ejecutar directamente:

#include <stdio.h>

int main()
{
	int l[10] = {10,9,8,7,6,5,4,3,2,1};
	int temp,position;
	int length =sizeof(l)/sizeof(int); 
	printf("This length of array = %d\n",length);
	for(int i = 0;i<length;i++)
	{
		printf("%d",l[i]);
	}
    printf("\n-----This is a separation line--------\n");
	for(int i=0;i<length/2;i++)
	{
		temp = l[i];
		position = length-1-i;
		l[i] = l[position];
		l[position] = temp;
	}
    for(int i = 0;i<length;i++)
	{
		printf("%d",l[i]);
	}
 
    return 0;
}

Supongo que te gusta

Origin blog.csdn.net/qq_24130591/article/details/106592370
Recomendado
Clasificación