读入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,遍历也不过就是利用一个循环结构输出数组的值。

posted on 2024-04-09 17:15  fafrkvit  阅读(332)  评论(1)    收藏  举报