逆置顺序表

逆置顺序表

1000(ms)

10000(kb)

3339 / 16453

建立长度为n的顺序表,然后将表中的数据元素逆置,即若表中原来的数据元素序列为(a0,a1,a2,…,an),则逆置后的数据元素序列为(an,an-1,an-2,…,a1,a0)。(数据类型为字符型)

输入

 

第一行为顺序表的长度n;第二行为顺序表中的数据元素.

输出

 

输出为逆置后的顺序表.

样例输入

7
ABCDEFG

样例输出

G F E D C B A
#include<iostream>
#include<stdio.h>
#include<algorithm>
using namespace std;
typedef struct{
    int length;
    char data[1000];
}sqlList;
void InitList(sqlList *&L){
    L = (sqlList *)malloc(sizeof(sqlList));
    L->length = 0;
}
void insertList(sqlList *&L,int e){
    int len = L->length;
    L->data[len] = e;
    L->length++;
}
void reverseList(sqlList *&L){
    int i=0;
    int j=L->length-1;
    while(i<j){
        swap(L->data[i++],L->data[j--]);
    }
}
int main(){
    int n;
    sqlList *s1;
    InitList(s1);
    scanf("%d",&n);
    getchar();
    for(int i=0; i<n;i++){
        char x;
        scanf("%c",&x);
        insertList(s1,x);
    }
    reverseList(s1);
    for(int i=0;i<s1->length;i++){
        cout<<s1->data[i]<<" ";
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_30092289/article/details/88371241