首页 > 试题广场 >

以下操作中,数组比链表速度更快的是____

[不定项选择题]
以下操作中,数组比链表速度更快的是____
  • 原地逆序
  • 头部插入
  • 返回中间节点
  • 返回头部节点
  • 选择随机节点
A选项。 链表就地逆置需要循环n次,而数组只需要n/2次。 剩下CE因为数据随机访问比链表快
编辑于 2018-07-15 21:32:09 回复(0)
链表进行倒序的时候,每俩个节点之间都需要进行指针的重定向,前节点的尾指针需要指向后节点尾指针的指向,而后节点的尾指针需要指向前节点的首部,三步倒置两个节点,后面所有的节点都需要同原理设置,时间复杂度很大。
发表于 2018-07-17 18:25:36 回复(0)
//用C写一个输入的整数,倒着输出整数的函数,要求用递归方法。
#include<stdio.h>
#include<iostream>
using namespace std;
int sum = 0;
int fall(int a){
    if (a == 0)return sum;
    
    int c;
    c = a % 10;
    a = a / 10;
    sum = sum + c;
    if (a!=0)
    sum = sum * 10;
    fall(a);

}
int main()
{
    int a;
    bool flag = true;
    cin>>a;
    if (a < 0)
    
        a = 0 - a;
    flag = false;
    }
    int b=fall(a);
    if (flag == false) b = 0 - b;
    printf("%d",b);
    system("pause");
}
发表于 2018-07-16 18:54:51 回复(0)