这个问题一眼看到,用数组解决,可是刚学了顺序表,要大展身手一下;所以用顺序表来解决这个问题,虽然代码比较冗长
#include <iostream>
#define Maxsize 2000000
#define Maxsize2 100000
using namespace std;
typedef struct
{
int data[Maxsize];
int length;
}SqList;
void InitList(SqList *L)
{
L=(SqList *)malloc(sizeof(SqList));
L->length =0;
}
void CreateList(SqList *&L,int n,int a[])
{
int i,k=0;
L=(SqList*)malloc(sizeof(SqList));
for(i=0;i<n;i++)
{
L->data[k++]=a[i];
}
L->length=k;
}
void DispList(SqList *L,int n)
{
cout<<L->data [n]<<endl;
}
int main()
{
SqList *L;
int n,m,i,a[100],b[100];
cin>>n>>m;
for(i=0;i<n;i++)
cin>>a[i];
for(i=0;i<m;i++)
cin>>b[i];
InitList(L);
CreateList(L,10,a);
for(i=0;i<m;i++)
DispList(L,b[i]-1);
return 0;
}