读入n值及n个整数,建立顺序表并遍历输出。
输入格式:
读入n及n个整数
输出格式:
输出n个整数,以空格分隔(最后一个数的后面没有空格)。
首先定义顺序表这个结构体
点击查看代码
typedef struct sqList{
int arrayList[maxSize];
int arrayLength;
}
需要初始化一个顺序表
点击查看代码
void initList(sqList &L) {
L.arrayLength = 0;
} //就是让他的长度等于0
然后,建立一个顺序表,并往里面输数,不过不要忘记要先建立一个普通的数组,然后给数组赋值,往顺序表里面输数的过程就是将数组的值一个一个的赋给顺序表里面的过程。
点击查看代码
void plusElem(sqList &L, int elemarraySize, int a[]) {
for (int i = 0; i < elemarraySize; i++) {
L.arrayList[i] = a[i];
L.arrayLength ++;
}
}
点击查看代码
void displayList(sqList L) {
if (L.arrayLength == 0)return;
for (int i = 0; i < L.arrayLength - 1; i++) {
cout<<L.arrayList[i]<<" ";
}
cout<<L.arrayList[L.arrayLength - 1];
}
完全代码:
点击查看代码
#include<iostream>
using namespace std;
#define maxSize 1000
typedef struct sqList{
int arrayList[maxSize];
int arrayLength;
};
void initList(sqList &L);
void plusElem(sqList &L, int elemarraySize, int a[]);
void displayList(sqList L);
int main() {
sqList L; //定义L是sqList类型的变量
initList(L);
int a[1000];
int n;
cin>>n;
for (int i = 0; i < n; i++) {
cin>>a[i];
}
plusElem(L,n,a);
displayList(L);
}
void initList(sqList &L) {
L.arrayLength = 0;
}
void plusElem(sqList &L, int elemarraySize, int a[]) {
for (int i = 0; i < elemarraySize; i++) {
L.arrayList[i] = a[i];
L.arrayLength ++;
}
}
void displayList(sqList L) {
if (L.arrayLength == 0)return;
for (int i = 0; i < L.arrayLength - 1; i++) {
cout<<L.arrayList[i]<<" ";
}
cout<<L.arrayList[L.arrayLength - 1];
}
过了一段时间,有来看这个顺序表的建立,在学了数组之后,有了更好的理解,顺序表是一种包含了数组的结构体,以及数组的长度,因此声明结构体自不必多说,顺序表的建立,就是声明这个结构体,然后给他赋值,初始化就是让长度等于0,遍历也不过就是利用一个循环结构输出数组的值。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具