要求(1) 建立顺序表. (2) 初始化顺序表. (3) 置空表. (4) 求顺序表长度. (5) 输出顺序表所有元素. (6) 取顺序表位置i的元素值. (7) 在顺序表中查找值为e 的元素位置。 (8)向顺序表中插入一个元素. (9)从顺序表中删除一个元素。,不要用指针
时间: 2023-09-03 12:28:26 浏览: 111
如何在C++中建立一个顺序表
5星 · 资源好评率100%
### 回答1:
1. 建立顺序表
顺序表是一种线性数据结构,元素之间紧密相连且在内存上连续存储。可以通过数组来实现顺序表。
定义一个数组,用来存放顺序表元素:
int arr[MAX_SIZE]; // MAX_SIZE 为数组大小
2. 初始化顺序表
初始化顺序表就是给数组中所有元素赋初值。可以使用循环来实现。
int initList(int arr[], int length, int value){
// arr:数组名称;length:数组长度;value:元素初值
int i;
for(i=0; i<length; i++){
arr[i] = value;
}
return 1; // 初始化成功
}
3. 置空表
将数组中所有元素赋为0或其他空值来实现置空表。
int clearList(int arr[], int length){
// arr:数组名称;length:数组长度
int i;
for(i=0; i<length; i++){
arr[i] = 0;
}
return 1; // 置空表成功
}
4. 求顺序表长度
顺序表的长度就是数组中元素的个数。
int listLength(int arr[], int length){
int i, count=0;
for(i=0; i<length; i++){
if(arr[i] != 0){
count++;
}
}
return count; // 返回顺序表长度
}
5. 输出顺序表所有元素
顺序表中的所有元素可以使用循环遍历输出。
void printList(int arr[], int length){
int i;
for(i=0; i<length; i++){
printf("%d ", arr[i]);
}
printf("\n");
}
6. 取顺序表位置i的元素值
在数组中,元素的下标从0开始。因此,顺序表位置i的元素值就是数组中第i个元素的值。
int getElement(int arr[], int i){
return arr[i]; // 返回顺序表位置i处的元素值
}
7. 在顺序表中查找值为e 的元素位置
在顺序表中查找元素,可以使用循环遍历数组,并判断数组中的元素是否等于给定值e。
int searchElement(int arr[], int length, int e){
int i;
for(i=0; i<length; i++){
if(arr[i] == e){
return i; // 返回元素e在顺序表中的位置
}
}
return -1; // 未找到元素e
}
8. 向顺序表中插入一个元素
在顺序表中插入元素,需要先判断顺序表是否已满。如果顺序表已满,就不能再插入新元素。否则,需要将插入位置后面的元素都往后移一个位置,为插入元素留出空位。
int insertElement(int arr[], int length, int i, int e){
// arr:数组名称;length:数组长度;i:插入位置;e:插入元素
int j;
if(length == MAX_SIZE){
return 0; // 顺序表已满无法插入
}
for(j=length-1; j>=i; j--){
arr[j+1] = arr[j]; // 将插入位置后面的元素都往后移一个位置
}
arr[i] = e; // 将元素e插入到顺序表中
return 1; // 插入元素成功
}
9. 从顺序表中删除一个元素
在顺序表中删除元素,需要先判断顺序表是否为空。如果顺序表为空,就不能再删除元素。否则,需要将删除位置后面的元素都往前移一个位置,填补被删除元素的空位。
int deleteElement(int arr[], int length, int i){
// arr:数组名称;length:数组长度;i:删除位置
int j;
if(length == 0){
return 0; // 顺序表为空无法删除
}
for(j=i; j<length-1; j++){
arr[j] = arr[j+1]; // 将删除位置后面的元素都往前移一个位置
}
arr[length-1] = 0; // 将原最后一个元素置为0
return 1; // 删除元素成功
}
### 回答2:
建立顺序表:顺序表可以用数组来实现,定义一个固定大小的数组作为顺序表的存储空间。
初始化顺序表:通过给数组元素赋值来初始化顺序表,可以将数组元素都设置为一个特定的初值。
置空表:将顺序表的长度设为0,即将数组中的元素个数设置为0。
求顺序表长度:直接返回顺序表的长度,即数组中元素的个数。
输出顺序表所有元素:使用循环遍历顺序表中的元素,并逐个进行输出。
取顺序表位置i的元素值:通过给定的位置i,在数组中找到对应的元素并返回其值。
在顺序表中查找值为e的元素位置:循环遍历顺序表中的元素,当找到与e相等的元素时,返回其位置。
向顺序表中插入一个元素:首先判断顺序表是否已满,如果已满则无法插入;如果未满,则将插入位置之后的元素都后移一位,并将要插入的元素放到插入位置上。
从顺序表中删除一个元素:首先判断顺序表是否为空,如果为空则无法删除;如果非空,则将删除位置之后的元素都前移一位,并将最后一个元素置空。
总结:通过以上几种操作,我们可以实现对顺序表的建立、初始化、置空、求长度、输出元素、取值、查找、插入和删除等操作,而不需要使用指针。
### 回答3:
1) 建立顺序表:顺序表是一种线性表的存储结构,可以通过连续的存储空间来存储元素。可以使用数组来实现顺序表。
2) 初始化顺序表:初始化顺序表就是为顺序表分配内存空间,并将其长度设置为0。
3) 置空表:将顺序表的长度设置为0,即清空表中所有的元素。
4) 求顺序表长度:通过获取顺序表的长度属性,即表中元素的个数。
5) 输出顺序表所有元素:通过遍历顺序表,逐个输出所有的元素。
6) 取顺序表位置i的元素值:通过索引i可以直接访问顺序表中指定位置的元素值。
7) 在顺序表中查找值为e的元素位置:通过遍历顺序表,逐个比较元素的值,找到值为e的元素,返回其位置。
8) 向顺序表中插入一个元素:先将顺序表的长度增加1,然后将新元素插入到指定位置,要保证插入位置以及后面的元素都要进行后移操作。
9) 从顺序表中删除一个元素:先找到要删除元素的位置,然后将该位置后面的元素依次向前移动一位,最后将顺序表的长度减1。
以上就是不使用指针实现顺序表中常用的操作。每个操作都可以根据具体需求进行相应的调整和补充。
阅读全文