顺序表的插入,删除,就地逆置
时间: 2023-06-19 14:04:56 浏览: 71
顺序表的插入和删除操作都需要移动数组元素,所以时间复杂度为O(n)。就地逆置操作的时间复杂度也为O(n)。
以下是示例代码:
1. 插入操作
```c++
// 在顺序表的第i个位置插入元素x
bool insert(int i, int x, int& len, int* arr) {
if (i < 1 || i > len+1) return false;
if (len >= MAXSIZE) return false;
for (int j = len; j >= i; j--) {
arr[j] = arr[j-1];
}
arr[i-1] = x;
len++;
return true;
}
```
2. 删除操作
```c++
// 删除顺序表的第i个位置的元素,并返回删除的元素
bool remove(int i, int& len, int* arr, int& x) {
if (i < 1 || i > len) return false;
x = arr[i-1];
for (int j = i; j < len; j++) {
arr[j-1] = arr[j];
}
len--;
return true;
}
```
3. 就地逆置操作
```c++
// 就地逆置顺序表
void reverse(int len, int* arr) {
for (int i = 0; i < len/2; i++) {
int temp = arr[i];
arr[i] = arr[len-i-1];
arr[len-i-1] = temp;
}
}
```
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)