题目描述
描述
You are given a sequence of integer numbers. Zero-complexity transposition of the sequence is the reverse of this sequence. Your task is to write a program that prints zero-complexity transposition of the given sequence.
输入描述:
For each case, the first line of the input file contains one integer n-length of the sequence (0 < n ≤ 10 000). The second line contains n integers numbers-a1, a2, …, an (-1 000 000 000 000 000 ≤ ai ≤ 1 000 000 000 000 000).
输出描述:
For each case, on the first line of the output file print the sequence in the reverse order.
示例1
输入:
5
-3 4 6 -8 9
输出:
9 -8 6 4 -3
栈解法
#include<stack>
#include<iostream>
using namespace std;
int main(){
stack<int>stack;
int num,data=0;
cin>>num;
while(num--!=0)
{
cin>>data;
stack.push(data);}
while(!stack.empty()){
cout<<stack.top()<<" ";
stack.pop();
}
}
算法评价
运行时间:4ms 占用内存:424KB
动态数组逆向存储
#include <stdio.h>
#include <malloc.h>
int main(){
int num,i;
int *p;
while(scanf("%d",&n)!=EOF){
p=(int* )malloc(sizeof(int)*n);
for(i=num-1;i>=0;i--)scanf("%d",&p[i]);
for(i=0;i<num;i++)printf("%d ",p[i]);
printf("\n");
free(p);
}
return 0;
}
算法评价
运行时间:3ms 占用内存:332KB