帮我用c++语言完善下列函数,int CreateList_Sq(SqList &L,int n) // n个元素顺序表的创建 { //此处填写代码,申请能存放最大元素个数为 MAXSIZE的空顺序表L,若空间分配失败,则退出程序。 //空间分配成功后,如果n<=0,则返回0;如果n>0,从键盘接收n个整数构建长度是n的顺序表L,并返回n。 } void PrintList_Sq(SqList L) //遍历顺序表 {//此处填写代码,如果顺序表是空表,则输入提示信息“空表”;否则,逐个输出顺序表的元素,相邻的两个数据元素之间以一个空格为分隔符隔开 }
时间: 2024-02-27 08:56:34 浏览: 54
C++ 线性表的顺序存储:顺序表(静态)
下面是完整的函数实现:
```c++
const int MAXSIZE = 100; // 定义顺序表最大长度
struct SqList {
int data[MAXSIZE]; // 存储元素的数组
int length; // 当前顺序表长度
};
int CreateList_Sq(SqList &L, int n) {
L.length = 0; // 初始化顺序表长度为0
// 申请能存放最大元素个数为MAXSIZE的空顺序表L
// 若空间分配失败,则退出程序
if (n <= 0 || n > MAXSIZE) {
exit(1);
}
// 从键盘接收n个整数构建长度是n的顺序表L,并返回n
for (int i = 0; i < n; i++) {
cin >> L.data[i];
L.length++;
}
return L.length;
}
void PrintList_Sq(SqList L) {
// 如果顺序表是空表,则输入提示信息“空表”
if (L.length == 0) {
cout << "空表" << endl;
return;
}
// 逐个输出顺序表的元素,相邻的两个数据元素之间以一个空格为分隔符隔开
for (int i = 0; i < L.length; i++) {
cout << L.data[i] << " ";
}
cout << endl;
}
```
注意事项:
1. 在函数CreateList_Sq中,我们先初始化顺序表长度为0,然后从键盘接收n个整数,同时更新顺序表长度。在这个过程中,我们需要判断n的范围,如果n<=0或者n>MAXSIZE,则直接退出程序。
2. 在函数PrintList_Sq中,我们先判断顺序表是否为空表,如果是,则输出提示信息;否则,逐个输出顺序表的元素,并在相邻的两个数据元素之间以一个空格为分隔符隔开。
阅读全文