请写出线性表单链表存储的基本操作代码
时间: 2024-04-30 08:23:28 浏览: 26
以下是线性表单链表存储的基本操作代码:
1. 初始化操作
```c++
void InitList(LinkList &L) {
L = (LinkList)malloc(sizeof(LNode));
if(!L) exit(1); // 内存分配失败
L->next = NULL;
}
```
2. 插入操作
```c++
bool ListInsert(LinkList &L, int i, ElemType e) {
LinkList p = L, s;
int j = 0;
while(p && j < i - 1) {
p = p->next;
j++;
}
if(!p || j > i - 1) return false; // i 不合法
s = (LinkList)malloc(sizeof(LNode));
s->data = e;
s->next = p->next;
p->next = s;
return true;
}
```
3. 删除操作
```c++
bool ListDelete(LinkList &L, int i, ElemType &e) {
LinkList p = L, q;
int j = 0;
while(p->next && j < i - 1) {
p = p->next;
j++;
}
if(!p->next || j > i - 1) return false; // i 不合法
q = p->next;
e = q->data;
p->next = q->next;
free(q);
return true;
}
```
4. 查找操作
```c++
int LocateElem(LinkList L, ElemType e) {
LinkList p = L->next;
int i = 1;
while(p) {
if(p->data == e) return i;
p = p->next;
i++;
}
return 0; // 没找到
}
```
5. 求表长操作
```c++
int ListLength(LinkList L) {
LinkList p = L->next;
int len = 0;
while(p) {
len++;
p = p->next;
}
return len;
}
```
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.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)
![](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)
![](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)