#include <stdio.h>
#include<iostream>
const int MaxSize = 2e6+5;
using namespace std;
typedef long long DataType;
typedef long long ll;
typedef struct{
DataType data[MaxSize];
int length;
}SeqList;
int CreatList (SeqList *L,DataType a[],ll n){ //创建顺序表
if(n>MaxSize){
return 0;
}
for(int i = 0;i < n;i++) L->data[i] = a[i];
L->length = n;
return 1;
}
int Get(SeqList *L,int i,DataType *ptr){ //按位查找
if (i <1||i>L->length){
return 0;
}
else {
*ptr = L->data[i-1];
return 1;
}
}
int main(){
ll n,m,a[2000000],b[1000000],x;
cin>>n>>m;
for(int i = 0;i < n;i++){
cin>>a[i];
}
SeqList L;
CreatList(&L,a,n);
for(int j=0;j<m;j++){
cin>>b[j];
}
for(int j=0;j<m;j++){
Get(&L,b[j],&x);
printf("%d\n",x);
}
return 0;
}
洛谷P3156题解(线性表)
最新推荐文章于 2023-03-30 15:30:00 发布
本文介绍了一段关于C++编程中如何创建顺序表SeqList,并实现按位查找功能。通过` CreatList`函数构建列表,`Get`函数用于根据下标获取元素。实例展示了输入数组创建及后续查找操作的应用。
摘要由CSDN通过智能技术生成