Estrutura de dados: a linguagem C realiza a ordem reversa da matriz, e a complexidade do espaço é O (1)

Ideias

  1. Calcule o comprimento da matriz
  2. A primeira e a penúltima posição são trocadas; a i-ésima posição é trocada com a posição de comprimento-1-i
  3. Metade do loop da matriz

A seguir está o código, que pode ser executado diretamente:

#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;
}

Acho que você gosta

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