c++链式存储结构线性表基本操作
时间: 2023-11-24 21:51:31 浏览: 87
以下是C++链式存储结构线性表基本操作的介绍:
1. 定义链表结构体
```c++
struct LNode{
int data; // 节点的数据域
LNode *next; // 节点指针域
};
```
2. 初始化链表
```c++
LNode *initList(){
LNode *head = new LNode; // 创建头结点
head->next = NULL; // 头结点指针域为空
return head;
}
```
3. 判断链表是否为空
```c++
bool isEmpty(LNode *head){
return head->next == NULL;
}
```
4. 获取链表长度
```c++
int getLength(LNode *head){
int length = 0;
LNode *p = head->next;
while(p != NULL){
length++;
p = p->next; }
return length;
}
```
5. 插入节点
```c++
bool insertNode(LNode *head, int index, int value){
if(index < 1 || index > getLength(head) + 1){
return false;
}
LNode *p = head;
for(int i = 1; i < index; i++){
p = p->next;
}
LNode *newNode = new LNode;
newNode->data = value;
newNode->next = p->next;
p->next = newNode;
return true;
}
```
6. 删除节点
```c++
bool deleteNode(LNode *head, int index){
if(index < 1 || index > getLength(head)){
return false;
}
LNode *p = head;
for(int i = 1; i < index; i++){
p = p->next;
}
LNode *q = p->next;
p->next = q->next;
delete q;
return true;
}
```
阅读全文