您的位置:

数组逆置python,数组逆置的空间复杂度

本文目录一览:

怎样将一个数组逆序输出?

以python为例,将一个数组逆序输出的示例代码为:

#!/usr/bin/env python

# -*- coding: utf-8 -*-

arg = [1, 2, 3, 4, 5]

arg_1 = []

for i in range(1, len(arg) + 1):

arg_1.append(arg[len(arg) - i])

print arg

print arg_1

执行程序,输出结果为:

[1, 2, 3, 4, 5]

[5, 4, 3, 2, 1]

由结果可看出数组已逆序输出。

扩展资料

1、C语言中的数组

C语言中的数组的声明并不是声明一个个单独的变量,比如 number0、number1、...、number99,而是声明一个数组变量,比如 numbers,然后使用 numbers[0]、numbers[1]、...、numbers[99] 来代表一个个单独的变量。

数组中的特定元素可以通过索引访问。所有的数组都是由连续的内存位置组成。最低的地址对应第一个元素,最高的地址对应最后一个元素。

2、初始化数组的方法

在 C 中,您可以逐个初始化数组,也可以使用一个初始化语句,如下所示:

double balance[5] = {1000.0, 2.0, 3.4, 7.0, 50.0};

大括号 { } 之间的值的数目不能大于我们在数组声明时在方括号 [ ] 中指定的元素数目。

如果您省略掉了数组的大小,数组的大小则为初始化时元素的个数。因此,如果:

double balance[] = {1000.0, 2.0, 3.4, 7.0, 50.0};

您将创建一个数组,它与前一个实例中所创建的数组是完全相同的。下面是一个为数组中某个元素赋值的实例:

balance[4] = 50.0;

上述的语句把数组中第五个元素的值赋为 50.0。所有的数组都是以 0 作为它们第一个元素的索引,也被称为基索引,数组的最后一个索引是数组的总大小减去 1。

如何实现数组逆转?

#includestdio.h

int main()

{ int i,j,n,t;

scanf("%d",n);

int a[n];

for(i=0; in; i++)                //数组赋值

  a[i]=i+1;

for(i=0; in; i++)                //输出原有的数组

  printf("%d ",a[i]);

printf("\n\n");

for(i=0,j=n-1; ij; i++,j--)        //实现数组的逆置

{ t=a[i];

  a[i]=a[j];

  a[j]=t;

}

for(i=0; in; i++)            //输出检查

  printf("%d ",a[i]);

printf("\n");

return 0;

}

将一个数组中的值逆序存放

C/C++语言可用循环解决,例如:

#includestdio.h

int main()

{

    int arr[5]=[8,6,5,4,1];

    int arr1[5];

    int i;

    for(i=0;i5;i+++)

    {

        arr1[i]=arr[4-i];//此处将第i个元素放到第4-i处,即第0号放到第4号,完成交换

    }

    //此时arr1即为逆序存放的数组

    for(i=0;i5;i+++)

    {

        printf("%d",arr1[i]);//打印输出

    }

    return 0;

}

python、Java或JavaScript等高级语言,可用内置函数reverse实现

//以下为JavaScript反转数组

var arr=[8,6,5,4,1];

arr1=arr.reverse();//完成反转

用python语言将一组数9,8,7,1,2进行逆序输出。

a=[9,8,7,1,2]

print(a[::-1])

print(sorted(a,key=lambda x:a.index(x),reverse=True))

a.reverse() #上面两行都不是原地改值,这一行reverse是原地改值,所有没有返回值。

print(a)